背景:
最近在管理集群时发现明明所有数据节点都已经正常启动了,而通过命令hadoop dfsadmin -report 显示的 Live datanodes却只有一个。同时,通过web页面查看http://master:50070,在Live Node那一栏也显示只有一个节点,点击进入该节点查看情况,发现是node1,但诡异的是:这时候点击刷新,刷新后的live node数仍然为1,但却变为了node2,反复刷新会发现不停地在node1和node2之间切换(由于我只有两个datanode,若超过两个说不定会在所有的datanode间切换)。通过一番摸索,发现了解决方法。
命令查看:
hadoop dfsadmin -report
原因分析:
因为我的hadoop 集群配置时都是复制到每个节点的,所以datanode 的VERSION里面有2个id是一模一样不能共存。datanodeUuid和storageID
修改VERSION 中 datanodeUuid和storageID
node1
storageID=DS-68dde2df-3a19-4638-bb30-2c8e028d1d0c
clusterID=CID-b0cb7040-8ca5-4cbf-8f7a-767094d32a0b
cTime=0
datanodeUuid=0efbf36e-f3eb-4a4d-88be-1c8c945109cc
storageType=DATA_NODE
layoutVersion=-56
node2
storageID=DS-68dde2df-3a18-4638-bb30-2c8e028d1d0c
clusterID=CID-b0cb7040-8ca5-4cbf-8f7a-767094d32a0b
cTime=0
datanodeUuid=0efbf36e-f3eb-4a4d-88be-1c8c945108cc
storageType=DATA_NODE
layoutVersion=-56
node3
storageID=DS-68dde2df-3a17-4638-bb30-2c8e028d1d0c
clusterID=CID-b0cb7040-8ca5-4cbf-8f7a-767094d32a0b
cTime=0
datanodeUuid=0efbf36e-f3eb-4a4d-88be-1c8c945107cc
storageType=DATA_NODE
layoutVersion=-56
重新启动集群,问题解决