1.缺少jar包依赖
maven依赖需要引入hadoop-common/hadoop-auth/hadoop-hdfs等,我在开发过程中还遇到以上三个jar包使用google的jar包依赖缺少/版本不对的问题,依次引入就好。
2.windows环境下使用开发工具进行远程连接测试,报could not locate executable null\bin\winutils.exe in hadoop binaries
这是本地没有安装hadoop调试环境工具,
(1)下载工具
hadoop2.2版本可以在这里下载https://github.com/srccodes/hadoop-common-2.2.0-bin
hadoop2.6版本可以在这里下载https://github.com/amihalik/hadoop-common-2.6.0-bin
(2)配置环境变量
①增加系统变量HADOOP_HOME,值是下载的zip包解压的目录,我这里解压后将其重命名为hadoop-common-2.6.0
②在系统变量path里增加%HADOOP_HOME%\bin
3.connection refused连接被拒
这个问题的原因有很多,暂且说一下我遇到的,刚开始没有搞清楚java api是通过哪种方式与hdfs建立连接,从hdfs-site.xml配置文件中可以看到,提供了两种连接方式,一种RPC、还有一种HTTP,后者是可以通过界面对hdfs进行查看。java api使用的是RPC通信。