相关网址:http://blog.csdn.net/wulantian/article/details/38112193
问题描述:32位的hadoop,安装在了64位的linux系统上。lib包编译环境不一样,所以不能使用。
问题解决: 经查看Ubuntu为32位,忽略上述解释,但是lib包可能需要手工编译,待解决。
2.Hadoop:could only be replicated to 0 nodes, instead of 1
相关网址:http://blog.csdn.net/zuiaituantuan/article/details/6533867(主要)
http://blog.sina.com.cn/s/blog_4c248c5801014nd1.html
问题描述:Jps查看结果
运行wordcount实例之前执行上传文件的命令:
[root@localhost hadoop-0.20.0]# bin/hadoop fs -put input in 此命令不会成功,提示上述错误。
问题解决:从日志中可以看出,原因是因为datanode的clusterID 和 namenode的clusterID 不匹配。
打开hdfs-site.xml里配置的datanode和namenode对应的目录,分别打开current文件夹里的VERSION,可以看到clusterID项正如日 志里记录的一样,确实不一致,修改datanode里VERSION文件的clusterID 与namenode里的一致,再重新启动dfs(执行start- dfs.sh)再执行jps命令可以看到datanode已正常启动。(这个问题一般是由于两次或两次以上的格式化NameNode造成的,有两种 方法可以解决,第一种方法是删除DataNode的所有资料(及将集群中每个datanode的/hdfs/data/current中的VERSION删掉,然后 执行hadoop namenode -format重启集群,错误消失。<推荐>);第二种方法是修改每个DataNode的namespaceID(位 于/hdfs/data/current/VERSION文件中)<优先>或修改NameNode的namespaceID(位于/hdfs/name/current/VERSION文件中), 使其一致。)出现该问题的原因:在第一次格式化dfs后,启动并使用了hadoop,后来又重新执行了格式化命令(hdfs namenode - format),这时namenode的clusterID会重新生成,而datanode的clusterID 保持不变。
3.Eclipse运行WordCount无法找到Input 路径
相关网址:http://blog.sina.com.cn/s/blog_7deb436e0101kh0d.html(解决关键)
http://blog.csdn.net/xw13106209/article/details/6855523
http://blog.sina.com.cn/s/blog_7deb436e0101kh0d.html
问题解决:http://blog.sina.com.cn/s/blog_7deb436e0101kh0d.html中的路径配置是正确的。
改正后路径:hdfs://localhost:9000/user/root/input hdfs://localhost:9000/user/root/output
4.
是输入的问题,但是改过后那三个log4j:WARN还在
回答
log4j:warn可以不管。
警告是提示你没有配置log4j,所有的日志只会输出在控制台。
要去掉这个警告也可以,配置一下log4j就行,参考如下:
http://blog.csdn.net/azheng270/article/details/2173430/
5. ubuntu12.10系统下通过eclipse运行hadoop2.4.0的wordcount程序,出现这种情况,run之后过了几秒钟,报了几个警告,但是没有任何统计,也没有出现对应的output文件,有没有人遇到过这样的问题??
终端输入指令可以运行wordcount程序。
报了三个警告,我觉得没关系的:
log4j:WARN No appenders could be found for logger (org.apache.hadoop.util.Shell).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
改好log4j后,出现如下问题,org.apache.hadoop.security.AccessControlException: Permission denied: user=think, access=WRITE, inode="/user/root":root:supergroup:drwxr-xr-x
相关网址:http://bbs.csdn.net/topics/390924666 (感谢wuzhongfei88的帖子)
http://www.cnblogs.com/acmy/archive/2011/10/28/2227901.html(感谢十年一贱提供的解决方案)
问题描述:如上。
问题解决:因为Eclipse使用hadoop插件提交作业时,会默认以 DrWho 身份去将作业写入hdfs文件系统中,对应的也就是 HDFS 上的/user/xxx , 我的 为/user/hadoop , 由于 DrWho 用户对hadoop目录并没有写入权限,所以导致异常的发生。提供的解决方法为:放开 hadoop 目录的权 限 , 命令如下 :$ hadoop fs -chmod 777 /user/hadoop