Hadoop集群Eclipse开发常见错误积累

来源:互联网 发布:自学程序员有没公司要 编辑:程序博客网 时间:2024/05/10 00:54

我的机器环境:

JDK版本:  jdk-1.6.0_43

Linux版本: Ubuntu11.10

Hadoop版本: hadoop-1.0.4

Eclipse版本: eclipse4.2.2

Hadoop Eclipse插件: hadoop-eclipse-plugin-1.0.4.jar


1:  在连接DFS时会出现错误,提示信息为: "error: failure to login"。

弹出的错误提示框内容为"An internal error occurred during: "Connecting to DFS hadoop".org/apache/commons/configuration/Configuration".

这边是由于Hadoop Eclipse插件中缺少jar包导致的.

解决办法:

归档管理器打开该包,发现只有commons-cli-1.2.jar 和hadoop-core.jar两个包。将hadoop/lib目录下的:


  • commons-configuration-1.6.jar ,

  • commons-httpclient-3.0.1.jar ,

  • commons-lang-2.4.jar ,

  • jackson-core-asl-1.0.1.jar

  • jackson-mapper-asl-1.0.1.jar

一共5个包复制到hadoop-eclipse-plugin-0.20.203.0.jar的lib目录下,如下图:

然后,修改该包META-INF目录下的MANIFEST.MF,将classpath修改为一下内容:

Bundle-ClassPath:classes/,lib/hadoop-core.jar,lib/commons-cli-1.2.jar,lib/commons-httpclient-3.0.1.jar,lib/jackson-core-asl-1.0.1.jar,lib/jackson-mapper-asl-1.0.1.jar,lib/commons-configuration-1.6.jar,lib/commons-lang-2.4.jar


这样就完成了对hadoop-eclipse-plugin-0.20.203.0.jar的修改。
最后,将hadoop-eclipse-plugin-0.20.203.0.jar复制到Eclipse的plugins目录下。

参考文档:http://www.cnblogs.com/xia520pi/archive/2012/05/20/2510723.html


2: 运行hadoop程序出现Permission denied问题

报错内容为:Exception in thread "main" java.io.FileNotFoundException: /b.txt (Permission denied)

我这边是写一个上传本地文件的demo时候出现的问题,一直在提示我的权限不够,其实照成这样的原因是刚才设置的"Map/Reduce Location"其中的配置不是完全起作用,目的想要在HDFS的根目录建立文件,但实际上程序尝试在本地的根目录建立文件,显然是不行的。我们要让Eclipse提交作业到Hadoop集群上,所以我们这里手动添加Job运行地址。)

解决办法:

在代码中添加:

conf.set("mapred.job.tracker", "hdfs://master:9001");
conf.set("fs.default.name", "hdfs://master:9000");

备注:如果仍然有问题 可以尝试通过conf.set()自行添加其他的配置信息 

参考文档:http://www.cnblogs.com/xia520pi/archive/2012/05/20/2510723.html


原创粉丝点击