java访问hdfs文件时碰到的一些问题

1.java.io.IOException:No FileSystem for scheme:hdfs
解决:在pom.xml中漏添加了依赖 。下面3个依赖必不可少

org.apache.hadoop
hadoop-common
2.7.1



org.apache.hadoop
hadoop-hdfs
2.7.1


org.apache.hadoop
hadoop-client



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,看到如下内容:

fs.defaultFS
hdfs://主机名:9000

因此需要在代码中hdfs的uri中添加对应的端口号9000.

你可能感兴趣的:(大数据)