hadoop集群只有一个datanode启动问题

之前不懂犯了个低级错误,导致datanode只能启动一个;很是奇怪;

首先,之前多次将namenode格式化,导致namenode和datanode的clusterID不一致无法启动datanode

注:clusterID在/usr/local/hadoop/hdfs/name/current目录下;

解决方案:修改Shadoop1 和 Shadoop2 的data/current目录下的VERSION文件,将clusterID修改一致即可;


结果呢我胡乱修改一通,将 storageID和 datanodeUuid也改成一样的了,结果会怎么样?

你上传文件至hdfs会报错误Exception in createBlockOutputStream java.io.IOException

.....Excluding datanode 192.168.85.11:50010最后告诉你有一个datanode成功了

这我就不明白为什么有一个节点被exclude了,输入命令 bin/hdfs dfsadmin -report 看到只有一个datanode,分别登录两个datanode发现都是启动的。

登录50070查看这一个活动的datanode不断的切换。http://192.168.85.10:50070/dfshealth.html#tab-datanode(不断刷新可以看到)有时候datanode会死掉,但是绝不会显示在dead nodes这一栏。

苦寻答案无果,我就这么处理了

1、删除了tmp,logs,hdfs/data,hdfs/name 目录下的所有文件;

2、重新格式化namenode: bin/hdfs namenode -format;重启集群OK;

SO:只要修改storageID和 datanodeUuid这两个ID不一样就可以了吧。如果你也遇到上面的情况,不妨试试。

 
 


你可能感兴趣的:(exception,hdfs,HADOOP集群)