1、现象
在启动hdfs的时候,某个节点的datanode始终起步成功,jps看不到datanode进程
2、排查问题
经过查看该节点的log日志:
是namenode的version文件的clusterid和datanode不一致导致的,所以应该把该节点的version文件的clusterid改成和主节点一致
3、问题解决
4、拓展-原因
NameNode保存元数据的!
DataNode保存真实数据的!
一个文件不管上传还是下载,必须访问NN,先获取NN中相关的元数据!
NameNode有两个关键属性:
#Wed Jan 02 09:51:49 CST 2019
namespaceID=1004580134 #NNid
clusterID=CID-855b8a30-234b-47d8-82bb-f54c07af1ca9 #标识了当前HDFS中所有的DN,需要向此ID的NN进行注册
blockpoolID=BP-2026362776-192.168.6.101-1546064706393 #当前这个NN,管理的所有的文件,存储的目录
DataNode的属性:
会有BP-2026362776-192.168.6.101-1546064706393,和当前HDFS中NN的blockpoolID一致!
此目录中所有的块,都会上报给NN!
查看其VERSION:
#Wed Jan 02 10:31:54 CST 2019
storageID=DS-592a9c2e-31d4-4982-b5ee-a0e6af79ed6a # 当前DN的id
clusterID=CID-855b8a30-234b-47d8-82bb-f54c07af1ca9 # 参照当前的NN的clusterID生成
datanodeUuid=2e569f9e-4ba2-47f0-8ea2-4f63d9c9dbc6 #唯一标识
DataNode能够被当前的NN识别:
①DN 的clusterID 和NN一致
②DN 存储块的目录,和NN的blockpoolID一致,当前目录下,所有的块信息,才可以上报给NN
dn:
nn: