今天终于运行成功了wordcount测试,这两天配置一直遇到了很多问题,在此罗列一下:
1、首先是不能用用户启动Hadoop
原因是用户没有Hadoop安装目录的权限(permission denyed)。所以我把Hadoop的tmp(放在/opt/data/tmp)目录权限设置成普通用户,把Hadoop的安装目录(/opt/modules/hadoop-1.2.1/)权限设置成普通用户。
2、无法启动mapreduce
原因是粗心,在配置mapred-site.xml时,把主机名写错了(hadoop-master 错写成hadooop-master)
3、namenode 无法启动,或者是启动了后无法停止
在网上查了一些解决方法,虽然现阶段还没有弄清原理,先说下具体怎么操作:
把Hadoop的五大守护进程的.pid文件,从默认路径(/tmp)移动到Hadoop安装目录下(/opt/modules/hadoop-1.2.1/pids)
每次启动前,可以清除Hadoop的tmp(放在/opt/data/tmp)目录下的内容(rm -rf *);然后格式化namenode,就可以了
4、运行wordcount时,显示无法连接到server
查看日志log后,发现“could only be replicated to 0 nodes, instead of 1”异常,具体链接见http://blog.csdn.net/zuiaituantuan/article/details/6533867
具体操作:可以清除Hadoop的tmp(放在/opt/data/tmp)目录下的内容(rm -rf *);然后格式化namenode,就可以了。
5运行wordcount成功后,输出没有结果
操作:可以清除Hadoop的tmp(放在/opt/data/tmp)目录下的内容;或者清除Hadoop的tmp下mapred下的local 数据