在启动集群的时候,namenode无法启动,用tail命令查看log,可以看到出现如下错误:

[hadoop@master hadoop]$ tail -100f /usr/local/hadoop/libexec/../logs/hadoop-hadoop-namenode-master.out
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: /usr/local/hadoop/libexec/../logs/hadoop-hadoop-namenode-master.log (Permission denied)


可以看到

hadoop-hadoop-namenode-master.log

文件权限受限。

定位到logs目录下:

[hadoop@master libexec]$ cd /usr/local/hadoop/libexec/../logs/
[hadoop@master logs]$ ls
hadoop-hadoop-datanode-master.log
hadoop-hadoop-datanode-master.log.2014-04-20
hadoop-hadoop-datanode-master.log.2014-04-21
hadoop-hadoop-datanode-master.log.2014-04-22
hadoop-hadoop-datanode-master.log.2014-04-23
hadoop-hadoop-datanode-master.log.2014-04-24
hadoop-hadoop-datanode-master.log.2014-04-26
hadoop-hadoop-datanode-master.log.2014-04-29
hadoop-hadoop-datanode-master.log.2014-04-30
hadoop-hadoop-datanode-master.log.2014-05-01
hadoop-hadoop-datanode-master.log.2014-05-02
hadoop-hadoop-datanode-master.log.2014-05-03
hadoop-hadoop-datanode-master.log.2014-05-04
hadoop-hadoop-datanode-master.log.2014-05-11
hadoop-hadoop-datanode-master.out

再切换到root权限,执行下列修改权限命令:

[hadoop@master logs]$ su root
Password: 
[root@master logs]# chmod 777 hadoop-hadoop-namenode-master.log

此时再用jps查看下,namenode已经启动起来了.

[root@master hadoop]# jps

23714 NameNode

26578 Jps

24633 JobTracker

26284 TaskTracker

26040 DataNode


OK,大功告成!