故障一:某个datanode节点无法启动
我是以用户名centos安装和搭建了一个测试用的hadoop集群环境,也配置好了有关的权限,所有者、所属组都配成centos:centos
【故障现象】
名称节点的3个进程都起来了,但是其中一个数据节点的DataNode进程没启动,就是说在该数据节点上通过jps没查到有关进程。
【排查过程】
登录此故障节点(主机名为s203)的日志存放目录$ cd $HADOOP_HOME/logs/
查看日志hadoop-centos-datanode-s203.log,发现有一行FATAL级别的错误:
FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool <registering> (Datanode Uuid unassigned)
还有一行:
java.io.IOException: Incompatible clusterIDs in /tmp/hadoop-centos/dfs/data: namenode clusterID = CID-8ba03cf7-a71d-4439-8818-c0a65f47e7aa; datanode clusterID = CID-7d9b5e26-d96e-4596-b42e-5810aaacedf8
从字面上来看,报错信息大意是datanode所属的集群ID和namenodeID不一致,。这就导致了该data node无法加入到同一个集群里面去(每个hadoop集群的ID不能有两个),所以此数据节点启动失败。
【解决办法】
有两个,一个是删除集群所有主机信息后,格式化名称节点后再启动集群。这个办法会丢失我之前已有的数据,这不是我想要的。
所以我这里采用第二种办法:把无法启动的数据节点所属的