`

hadoop UnsupportedFileSystemException 问题

阅读更多

使用hdfs操作文件的时候遇到以下两个异常:

1.java.io.IOException: No FileSystem for scheme: hdfs

2.org.apache.hadoop.fs.UnsupportedFileSystemException: No FileSystem for scheme "file"

 

类似No FileSystem for scheme: hdfs (file)原因是jar包或打包问题。

依赖的jar包是hadoop-commons 和 hadoop-hdfs

 

Different JARs (hadoop-commons for LocalFileSystemhadoop-hdfs for DistributedFileSystem) each contain a different file called org.apache.hadoop.fs.FileSystem in their META-INFO/servicesdirectory. This file lists the canonical classnames of the filesystem implementations they want to declare (This is called a Service Provider Interface implemented via java.util.ServiceLoader, see org.apache.hadoop.FileSystem line 2622).

When we use maven-assembly-plugin, it merges all our JARs into one, and all META-INFO/services/org.apache.hadoop.fs.FileSystem overwrite each-other. Only one of these files remains (the last one that was added). In this case, the FileSystem list from hadoop-commonsoverwrites the list from hadoop-hdfs, so DistributedFileSystem was no longer declared.

 

解决方法如下:

1.通过配置方式:

		// 这个解决hdfs问题
		hadoopConf.set("fs.hdfs.impl", org.apache.hadoop.hdfs.DistributedFileSystem.class.getName());
		// 这个解决本地file问题
		hadoopConf.set("fs.file.impl", org.apache.hadoop.fs.LocalFileSystem.class.getName());

 2.通过打包插件方式

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-shade-plugin</artifactId>
  <version>2.3</version>
  <executions>
    <execution>
      <phase>package</phase>
      <goals>
        <goal>shade</goal>
      </goals>
      <configuration>
        <transformers>
          <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
        </transformers>
      </configuration>
    </execution>
  </executions>
</plugin>

 

 

分享到:
评论

相关推荐

    hadoop中文乱码问题

    【Hadoop中文乱码问题详解】 在大数据处理领域,Hadoop是一个不可或缺的开源框架,它提供了分布式存储(HDFS)和分布式计算(MapReduce)的能力。然而,在处理包含中文字符的数据时,用户可能会遇到中文乱码的问题...

    hadoop2.7.3 Winutils.exe hadoop.dll

    在IT行业中,Hadoop是一个广泛使用的开源框架,主要用于大数据处理和分布式存储。...对于想要在Windows上探索Hadoop世界的人来说,深入理解这些组件及其工作原理将极大地提升其技术水平和解决问题的能力。

    hadoop的dll文件 hadoop.zip

    安装或使用Hadoop的dll文件时,可能会遇到一些常见问题,如版本不兼容、路径配置错误或缺失依赖。解决这些问题通常需要检查以下几点: 1. 确保dll文件与Hadoop版本兼容。 2. 检查Java环境是否正确配置,包括JDK版本...

    hadoop winutils hadoop.dll

    在使用winutils.exe和hadoop.dll时,可能会遇到一些常见问题,如找不到相关文件的错误、权限问题或版本不兼容等。解决这些问题通常需要检查环境变量设置、确保使用与Hadoop版本匹配的winutils.exe和hadoop.dll,以及...

    hadoop.dll & winutils.exe For hadoop-2.6.0

    由于Hadoop最初是为Unix-like系统设计的,因此在Windows上的部署和配置通常会遇到一些挑战,`hadoop.dll`的出现正是为了缓解这些问题,使得Hadoop可以在Windows平台顺利运行。 `winutils.exe`是另一个对Windows用户...

    hadoop的hadoop.dll和winutils.exe下载

    2. 下载的版本应与你的Hadoop版本兼容,不兼容的版本可能导致各种问题,如运行错误、功能缺失等。 3. 安装过程中,确保正确配置Hadoop的环境变量,包括`HADOOP_HOME`、`HADOOP_COMMON_HOME`、`HADOOP_HDFS_HOME`等,...

    hadoop/bin/hadoop.dll

    解决这个问题通常需要重新下载或获取正确的Hadoop发行版,确保所有必需的文件都包含在内。有时,也可能需要从其他来源获取缺失的DLL文件,并将其放在系统路径中的正确位置,通常是Hadoop安装目录下的"bin"文件夹。 ...

    hadoop2.7.7对应的hadoop.dll,winutils.exe

    在Windows上安装Hadoop时,可能会遇到一些特有的问题,如找不到`hadoop.dll`和`winutils.exe`这两个关键文件。这些文件对于Hadoop在Windows上的正确运行至关重要。 `hadoop.dll`是Hadoop在Windows上运行所需的一个...

    Hadoop datanode启动失败:Hadoop安装目录权限的问题

    ### Hadoop Datanode启动失败:Hadoop安装目录权限问题详解 #### 一、问题背景与现象 在部署Hadoop集群的过程中,用户可能会遇到Datanode启动失败的情况。这一问题通常表现为,在尝试启动Hadoop集群时,Datanode...

    hadoop-eclipse-plugin-2.6.0.jar.zip_2.6.0_hadoop_hadoop plugin

    1. **版本匹配**:确保插件版本与所使用的Hadoop版本兼容,以避免可能出现的问题。 2. **日志查看**:利用Eclipse的输出视图跟踪作业的运行状态和日志信息,帮助诊断问题。 3. **优化调试**:在调试时,可以设置...

    hadoop.dll & winutils.exe For hadoop-2.7.1

    在大数据处理领域,Hadoop是一个不可或缺的开源框架,它提供了分布式存储和计算的能力。本文将详细探讨与"Hadoop.dll"和"winutils.exe"相关的知识点,以及它们在Hadoop-2.7.1版本中的作用。 Hadoop.dll是Hadoop在...

    Linux上Hadoop安装包hadoop-2.7.4.tar.gz

    Hadoop是Apache软件基金会开发的一个开源分布式计算框架,它的核心设计是解决大数据处理的问题。Hadoop 2.7.4是Hadoop发展过程中的一个重要版本,它提供了许多增强特性和稳定性改进,使得大规模数据处理更加高效和...

    hadoop环境缺少的hadoop.dll ,winutils.exe包

    在搭建Hadoop环境的过程中,经常会遇到一些特定的依赖问题,比如缺少`hadoop.dll`和`winutils.exe`这两个关键组件。本文将详细介绍这两个文件及其在Hadoop生态系统中的作用,以及如何解决它们缺失的问题。 首先,`...

    hadoop插件apache-hadoop-3.1.0-winutils-master.zip

    9. **故障排查**:在Windows上运行Hadoop可能会遇到一些特定的问题,比如文件权限问题、路径格式问题等。熟悉日志文件和错误代码对于解决问题至关重要。 总之,`apache-hadoop-3.1.0-winutils-master.zip`提供了一...

    hadoop使用distcp问题解决

    hadoop使用distcp问题解决 然后用distcp从1.0.3的集群拷数据到2.0.1的集群中。 遇到问题处理

    hadoop2.7.3的hadoop.dll和winutils.exe

    在IT行业中,Hadoop是一个广泛使用的开源框架,主要用于大数据处理和分布式存储。Hadoop 2.7.3是Hadoop发展中的一个重要版本,它包含了众多的优化和改进,旨在提高性能、稳定性和易用性。在这个版本中,`hadoop.dll`...

    各个版本Hadoop,hadoop.dll以及winutils.exe文件下载大合集

    标题提到的“各个版本Hadoop”指的是Hadoop的不同发行版本,每个版本可能包含了性能优化、新功能添加或已知问题修复。例如,`hadoop-2.6.5`和`hadoop-3.2.1`代表了两个重要的Hadoop版本。`2.6.5`属于Hadoop 2.x系列...

    hadoop2.6 hadoop.dll+winutils.exe

    标题 "hadoop2.6 hadoop.dll+winutils.exe" 提到的是Hadoop 2.6版本中的两个关键...不过,值得注意的是,尽管可以这样做,但在生产环境中,由于Windows的兼容性和性能问题,更推荐使用原生的Linux环境来运行Hadoop。

    Hadoop下载 hadoop-2.9.2.tar.gz

    Hadoop 是一个处理、存储和分析海量的分布式、非结构化数据的开源框架。最初由 Yahoo 的工程师 Doug Cutting 和 Mike Cafarella Hadoop 是一个处理、存储和分析海量的分布式、非结构化数据的开源框架。最初由 Yahoo...

    win环境 hadoop 3.1.0安装包

    - Windows环境下运行Hadoop可能会遇到权限问题,确保以管理员身份运行命令提示符。 - Hadoop在Windows上运行效率较低,推荐在Linux环境下使用Hadoop以获得更好的性能。 通过以上步骤,你可以在Windows环境中成功...

Global site tag (gtag.js) - Google Analytics