189 8069 5689

DataNode没有启动怎么办

这篇文章主要讲解了“DataNode没有启动怎么办”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“DataNode没有启动怎么办”吧!

成都创新互联服务项目包括兰考网站建设、兰考网站制作、兰考网页制作以及兰考网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,兰考网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到兰考省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

   问题描述:在master节点上启动HDFS,通过JPS查看NameNode,SecondaryNameNode等都正常启动,在slave节点上查看没有DataNode节点,通过http://localhost:50070查看没有DataNode节点.

    分析原因:无论是NameNode、DataNode,在启动时都会在$HADOOP_HOME/logs下创建一份日志,并且将启动的过程、异常错误等都会进行记录,打开DataNode节点上产生的log,果然发现出现错误,错误如下:

2015-05-30 19:04:10,948 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool  (Datanode Uuid unassigned) service to hadoop.master/192.168.1.200:9000. Exiting.
java.io.IOException: Incompatible clusterIDs in /root/app/hadoop/tmp/dfs/data: namenode clusterID = CID-aee19086-0039-4a5c-a7de-cb5f4355262c; datanode clusterID = CID-8fab07df-65df-48a0-862c-b3489783618d
        at org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:477)
        at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:226)
        at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:254)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.initStorage(DataNode.java:974)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.initBlockPool(DataNode.java:945)
        at org.apache.hadoop.hdfs.server.datanode.BPOfferService.verifyAndSetNamespaceInfo(BPOfferService.java:278)
        at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.connectToNNAndHandshake(BPServiceActor.java:220)
        at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:816)
        at java.lang.Thread.run(Thread.java:745)

主要错误看:

mp/dfs/data: namenode clusterID = CID-aee19086-0039-4a5c-a7de-cb5f4355262c; datanode clusterID = CID-8fab07df-65df-48a0-862c-b3489783618d
        at org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:477)

DataNode clusterID与NameNode clusterID 不一致

解决方法:

1、通过查看NameNode的clusterID:$HADOOP_HOME/tmp/dfs/name/current/VERSION,对比DataNode CID是否不一致

2、如果不一致则将DataNode节点上的tmp文件删除,然后重新通过sbin/hadoop-daemon.sh datanode start启动DataNode.,如何配置无误,NameNode会重新在DataNode上建立tmp文件并且纳入集群中,此处产生两种情况:

    2.1、生产中出现新增从节点,通过复制主节点的配置环境,然后直接删除tmp即可加入集群

    2.2、生产中出现子节点挂了,切记不能直接去hadoop namenode -format(有同学当初因为这个问题差点就干了),直接将挂了的子节点替换或者重新启动,此时需要将tmp文件删除,有些同学顾虑删除子节点的tmp文件会导致文件损坏或者找不到,这个没关系,因为数据有多个备份,所以无需担心

感谢各位的阅读,以上就是“DataNode没有启动怎么办”的内容了,经过本文的学习后,相信大家对DataNode没有启动怎么办这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


当前题目:DataNode没有启动怎么办
网站URL:http://cdxtjz.cn/article/pcdgps.html

其他资讯