重新格式化hadoop的namenode导致datanode无法启动的最简单解决办法

一般namenode只格式化一次,重新格式化不仅会导致之前的数据都不可用,而且datanode也会无法启动。在datanode日志中会有类似如下的报错信息:

java.io.IOException: Incompatible clusterIDs in /tmp/hadoop-root/dfs/data: namenode clusterID = CID-7f25bc20-e822-4b15-9063-4da48884cb60; datanode clusterID = CID-911d3bd8-bf2f-4cb7-8401-d470c89798e4

这是因为每次格式化namenode会生成一个新的clusterID,而datanode的clusterID还是旧的。

默认情况下
namenode的clusterID写在/tmp/hadoop-root/dfs/name/current/VERSION文件中
datanode的clusterID写在/tmp/hadoop-root/dfs/data/current/VERSION文件中

clusterID不一致导致datanode无法启动,只要把这两文件中的clusterID改一致就能正常启动了。修改namenode的clusterID或修改datanode的clusterID都行,但在集群情况下datanode的数量多,还是改namenode的clusterID比较方便。

时间: 2024-12-11 12:47:35

重新格式化hadoop的namenode导致datanode无法启动的最简单解决办法的相关文章

Hadoop介绍-4.Hadoop中NameNode、DataNode、Secondary、NameNode、JobTracker TaskTracker

Hadoop是一个能够对大量数据进行分布式处理的软体框架,实现了Google的MapReduce编程模型和框架,能够把应用程式分割成许多的 小的工作单元,并把这些单元放到任何集群节点上执行.在MapReduce中,一个准备提交执行的应用程式称为「作业(job)」,而从一个作业划分出 得.运行于各个计算节点的工作单元称为「任务(task)」.此外,Hadoop提供的分布式文件系统(HDFS)主要负责各个节点的数据存储,并实现了 高吞吐率的数据读写. 在分布式存储和分布式计算方面,Hadoop都是用

hadoop中NameNode、DataNode和Client三者之间协作关系及通信方式介绍

1)NameNode.DataNode和Client NameNode可以看作是分布式文件系统中的管理者,主要负责管理文件系统的命名空间.集群配置信息和存储块的复制等.NameNode会将文件系统的Meta-data存储在内存中,这些信息主要包括了文件信息.每一个文件对应的文件块的信息和每一个文件块在DataNode的信息等. DataNode是文件存储的基本单元,它将Block存储在本地文件系统中,保存了Block的Meta-data,同时周期性地将所有存在的Block信息发送给NameNod

namenode 和datanode无法启动,错误:FSNamesystem initialization failed. datanode.DataNode: Incompatible namespaceIDs

问题一: namenode无法启动,查看日志,错误信息如下: org.apache.hadoop.hdfs.server.namenode.FSNamesystem: FSNamesystem initialization failed. java.io.IOException: NameNode is not formatted.    at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage

hadoop 完全分布式 下 datanode无法启动解决方法

问题描述: 在集群模式下更改节点后,启动集群发现 datanode一直启动不起来. 我集群配置:有5个节点,分别为master slave1-5 . 在master以Hadoop用户执行:start-all.sh jps查看master节点启动情况: NameNode JobTracker SecondaryNameNode 均已经正常启动,利用 master:50070 , Live Nodes 为0, 随进入 slave1: ssh slave1,  输入命令 jps ,发现只有 TaskT

Activity被回收导致fragment的getActivity为null的解决办法

这两天一直被这个问题困扰,假如app长时间在后台运行,再点击进入会crash,而且fragment页面有重叠现象,让我十分不爽.研究了一天,终于明白其中的原理并加以解决.解决办法如下: 如果系统内存不足.或者切换横竖屏.或者app长时间在后台运行,Activity都可能会被系统回收,然后Fragment并不会随着Activity的回收而被回收,从而导致,Fragment丢失对应的Activity. 这里,假设我们继承于FragmentActivity的类为MainActivity,其中用到的Fr

Ojective-C:含有中文 导致NSURL初始化一直为null的解决办法

在学习Ojective-C过程中,需要读取文件中的内容,但发现指针变量url的值一直为nil. 代码如下: NSString *strUrl=@"file:///Users/fengziwu/Desktop/笔记.txt"; NSURL *url = [[NSURL alloc] initWithString:strUrl]; 后来发现原因:编码问题,带中文字符的文件路径导致,需要对路径进行编码处理 NSString类中有这两个方法: - (nullable NSString *)st

误删libgcc导致yum或rpm无法操作的解决办法

误删libgcc,导致yum或者rpm: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory 解决办法 uname -a  ##查看你的系统是32位还是64 scp /lib64/libgcc_s-4.4.6-20110824.so.1 10.10.10.10:/lib64/  ##假设你的系统是64位 cd /lib64/  

由于您和其他用户试图同时改变同一数据,导致 Microsoft Jet 数据库引擎停止进程解决办法

重装系统,发现程序出错,提示: 由于您和其他用户试图同时改变同一数据,导致 Microsoft Jet 数据库引擎停止进程. 解决办法:直接打开ACC数据库,修复数据库,即可成功!

hadoop 多次格式化format namenode 导致节点不能启动解决

链接:https://blog.csdn.net/qq_41059374/article/details/80695581?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task 原文地址:https://www.cnblogs.com/hgc-bky/p/12616858.html