java访问hdfs文件时碰到的一些问题
2017-09-19 17:03
591 查看
1.java.io.IOException:No FileSystem for scheme:hdfs
解决:在pom.xml中漏添加了依赖 。下面3个依赖必不可少
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.7.1</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.7.1</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
</dependency>
2.Checksum error: file:/F:/test.txt at 0 exp: 1871533573 got: 2052517348
解决:通过java程序将文件上传到hdfs上时,hadoop的api会通过fs.FSInputChecker判断需要上传的文件是否存在.crc校验文件。
如果存在.crc校验文件,则会进行校验。如果校验失败,则不会上传该文件。.crc校验文件和需要上传的文件在同一目录下。
解决办法为删除该.crc文件即可。
3.Call From kingdee-PC/192.168.56.1 to 172.20.176.134:8020 failed on connection exception: java.net
.ConnectException: Connection refused: no further information; For more details see:
http://wiki.apache.org/hadoop/ConnectionRefused
解决:打开hadoop的安装目录hadoop-2.7.3/etc/hadoop下的文件core-site.xml,看到如下内容:
<property>
<name>fs.defaultFS</name>
<value>hdfs://主机名:9000</value>
</property>
因此需要在代码中hdfs的uri中添加对应的端口号9000.
解决:在pom.xml中漏添加了依赖 。下面3个依赖必不可少
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.7.1</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.7.1</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
</dependency>
2.Checksum error: file:/F:/test.txt at 0 exp: 1871533573 got: 2052517348
解决:通过java程序将文件上传到hdfs上时,hadoop的api会通过fs.FSInputChecker判断需要上传的文件是否存在.crc校验文件。
如果存在.crc校验文件,则会进行校验。如果校验失败,则不会上传该文件。.crc校验文件和需要上传的文件在同一目录下。
解决办法为删除该.crc文件即可。
3.Call From kingdee-PC/192.168.56.1 to 172.20.176.134:8020 failed on connection exception: java.net
.ConnectException: Connection refused: no further information; For more details see:
http://wiki.apache.org/hadoop/ConnectionRefused
解决:打开hadoop的安装目录hadoop-2.7.3/etc/hadoop下的文件core-site.xml,看到如下内容:
<property>
<name>fs.defaultFS</name>
<value>hdfs://主机名:9000</value>
</property>
因此需要在代码中hdfs的uri中添加对应的端口号9000.
相关文章推荐
- Hadoop HDFS 文件访问权限问题导致Java Web 上传文件到Hadoop失败的原因分析及解决方法
- java远程共享文件访问jcifs解决密码中特殊符号问题
- spark上 spark-shell和java -jar访问hdfs路径问题
- java远程共享文件访问jcifs解决密码中特殊符号问题
- spark:学习过程中遇到的一些问题及解决方法(如何将本地文件发布到HDFS)--11
- (转)javabean操作文件正确,但是Jsp调用javabean时文件路径出错问题解决之JavaBean访问本地文件实现路径无关实现方法
- 通过JAVA—API访问HDFS 上的文件
- Java读取Unicode文件(UTF-8等)时碰到的BOM首字符问题,及处理方法
- java远程共享文件访问jcifs解决密码中特殊符号问题
- 初学java碰到的一些问题
- win7环境Eclipse中运行JAVA项目读取HDFS(hadoop-2.7.2)中的文件实例与问题汇总
- 回顾一下Java中数据库访问,还是有一些可笑的随意性的问题。
- 通过本地的eclipse中的java访问远程Linux中的HDFS需要注意的问题.
- crawler_java应用集锦9:httpclient4.2.2的几个常用方法,登录之后访问页面问题,下载文件_设置代理
- java文件操作的一些问题
- 访问Hadoop的HDFS文件系统的Java实现
- java中properties文件路径的访问及字符编码问题
- JAVA 文件路径的一些问题
- Java读取Unicode文件(UTF-8等)时碰到的BOM首字符问题,及处理方法
- SharePoint学习笔记001:访问站点列表碰到的一些问题