1、用bin/hadoop start-all.sh启动Hdoop集群,然后用jps命令查看守护进程时,没有DataNode
[root@master hadoop_data]# jps
7349 JobTracker
7242 SecondaryNameNode
7496 TaskTracker
6986 NameNode
7698 Jps
2、查看日志: tail -100 hadoop-root-datanode-master.log,发现有“ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: All directories in dfs.data.dir are invalid”
2014-05-08 11:03:09,320 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting DataNode
STARTUP_MSG: host = master/10.71.196.43
STARTUP_MSG: args = []
STARTUP_MSG: version = 1.1.2
STARTUP_MSG: build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.1 -r 1440782; compiled by 'hortonfo' on Thu Jan 31 02:03:24 UTC 2013
************************************************************/
2014-05-08 11:03:09,515 INFO org.apache.hadoop.metrics2.impl.MetricsConfig: loaded properties from hadoop-metrics2.properties
2014-05-08 11:03:09,530 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: MBean for source MetricsSystem,sub=Stats registered.
2014-05-08 11:03:09,532 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Scheduled snapshot period at 10 second(s).
2014-05-08 11:03:09,532 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: DataNode metrics system started
2014-05-08 11:03:09,646 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: MBean for source ugi registered.
2014-05-08 11:03:09,698 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Invalid directory in dfs.data.dir: Incorrect permission for /root/hadoop_data/data, expected: rwxr-xr-x, while actual: rwxrwxr-x
2014-05-08 11:03:09,699 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: All directories in dfs.data.dir are invalid.
2014-05-08 11:03:09,699 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Exiting Datanode
2014-05-08 11:03:09,699 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down DataNode at master/10.71.196.43
************************************************************/
3、查看一下 dfs.data.dir路径下的权限
/root/hadoop_data/data目录的用户组多了一个写的权限
[root@master logs]# ls -l /root/hadoop_data/data
total 28
drwxr-xr-x 2 root root 4096 May 8 10:49 blocksBeingWritten
drwxr-xr-x 66 root root 12288 May 8 10:49 current
drwxr-xr-x 2 root root 4096 Apr 22 15:38 detach
-rw-r--r-- 1 root root 157 Apr 22 15:38 storage
drwxr-xr-x 2 root root 4096 May 8 10:48 tmp
[root@master logs]# cd /root/hadoop_data/
[root@master hadoop_data]# ls -l
total 12
drwxrwxr-x 6 root root 4096 May 8 10:57 data
drwxr-xr-x 5 root root 4096 May 8 11:03 name
drwxr-xr-x 4 root root 4096 May 8 10:28 tmp
(4)解决办法:将该目录的用户组的写权限去掉:chmod g-w data
[root@master hadoop_data]# chmod g-w data
[root@master hadoop_data]# ls -l
total 12
drwxr-xr-x 6 root root 4096 May 8 10:57 data
drwxr-xr-x 5 root root 4096 May 8 11:03 name
drwxr-xr-x 4 root root 4096 May 8 10:28 tmp
(5)停止hadoop服务:stop-all.sh(6)重新启动hadoop服务:start-all.sh
[root@master hadoop_data]# start-all.sh
Warning: $HADOOP_HOME is deprecated.
starting namenode, logging to /usr/lib/hadoop/libexec/../logs/hadoop-root-namenode-master.out
slave01: starting datanode, logging to /usr/lib/hadoop/libexec/../logs/hadoop-root-datanode-master.out
master: starting secondarynamenode, logging to /usr/lib/hadoop/libexec/../logs/hadoop-root-secondarynamenode-master.out
starting jobtracker, logging to /usr/lib/hadoop/libexec/../logs/hadoop-root-jobtracker-master.out
slave01: starting tasktracker, logging to /usr/lib/hadoop/libexec/../logs/hadoop-root-tasktracker-master.out
[root@master hadoop_data]# jps
8444 JobTracker
8335 SecondaryNameNode
8078 NameNode
8203 DataNode
8593 TaskTracker
8712 Jps