bug:datanode启动后立刻死掉:java.io.IOException: Incompatible clusterIDs in....
来源:互联网 发布:linux rpm 安装目录 编辑:程序博客网 时间:2024/06/05 02:34
错误描述:
搭建伪分布式hadoop时,format namenode之后,start-dfs.sh启动hdfs,jps发现datanode启动后不久就自动死掉了。在日志文件:/usr/local/hadoop/hadoop-2.6.0/logs/hadoop-liuxianfa-datanode-liuxianfa8.out中看到如下报错信息。上网查了一下,发现了解决办法如下。
(注意:liuxianfa8机器上的hadoop的版本为hadoop2.6.0, 旧的版本和此版本的解决方法不同)
异常信息:(这里的异常信息是我自己搭建的时候的异常信息。原来文章的异常信息删掉了。)
java.io.IOException: Incompatible clusterIDs in /usr/local/hadoop/hadoop-2.6.0/data/tmp/dfs/data: namenode clusterID = CID-c602bccc-3af9-431d-8391-f57b9660d078; datanode clusterID = CID-48c46c43-8a44-4096-93bf-61d9942c8e2b
at org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:646)
at org.apache.hadoop.hdfs.server.datanode.DataStorage.addStorageLocations(DataStorage.java:320)
at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:403)
at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:422)
at org.apache.hadoop.hdfs.server.datanode.DataNode.initStorage(DataNode.java:1311)
at org.apache.hadoop.hdfs.server.datanode.DataNode.initBlockPool(DataNode.java:1276)
at org.apache.hadoop.hdfs.server.datanode.BPOfferService.verifyAndSetNamespaceInfo(BPOfferService.java:314)
at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.connectToNNAndHandshake(BPServiceActor.java:220)
at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:828)
at java.lang.Thread.run(Thread.java:745)
出错原因:
hadoop的升级功能需要data-node在它的版本文件里存储一个永久性的clusterID,当datanode启动时会检查并匹配namenode的版本文件里的clusterID,如果两者不匹配,就会出现"Incompatible clusterIDs"的异常。
每次格式化namenode都会生成一个新的clusterID, 如果只格式化了namenode,没有格式化此datanode, 就会出现”java.io.IOException: Incompatible namespaceIDs“异常。
参见官方CCR[HDFS-107]
解决之道:
此异常可从官方CCRs里找到:HDFS-107(formerly known asHADOOP-1212)
solution1 Start from scratch
1. stop the full cluster
2. 删除出现问题的datanode上的{user}, 此变量是在$HADOOP_CONF_DIR/下的hdfs-site.xml里定义的。
3. 重新格式化namenode, 此后所有在hdfs上的数据都将被擦除!
4. restart the cluster
solution2 手动更新clusterID
(旧的版本对应更新namespaceID(MRV1))
1. 在namenode上, ${dfs.namenode.name.dir}/current/VERSION 里找到clusterID ( ${dfs.namenode.name.dir}在hdfs-site.xml里定义,下同)(默认在core-site.xml文件中的${hadoop.tmp.dir}/dfs/name/current/VERSION)
2. 在出问题的datanode上, ${dfs.namenode.data.dir}/current/VERSION 里找到clusterID, 用步骤1中得到的clusterID覆盖之。
3. 在问题节点上重启datanode.
评注: 此方法不用格式化dfs, 为首选方法, 这样看来,只有脑残才会用solution1, 而我看了很多大陆人写的博客,偏偏就选择用solution1来解决此问题。
0 0
- bug:datanode启动后立刻死掉:java.io.IOException: Incompatible clusterIDs in....
- start-dfs datanode没启动起来,异常java.io.IOException: Incompatible clusterIDs in
- 5、Hadoop datanode无法启动,报错: java.io.IOException: Incompatible clusterIDs
- hadoop错误,重新格式化namenode后,出现java.io.IOException Incompatible clusterIDs
- org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs in /
- org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs in
- hadoop启动出现异常 java.io.IOException: Incompatible namespaceIDs in
- DataNode: java.io.IOException: Incompatible namespaceIDs in /dfs/dfs/data: namenode namespaceID = 69
- hadoop配置新节点后,出现 org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible n
- ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceID
- org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs
- Hadoop Problem : org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible
- ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceID
- 564 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: IOException in offerService java.io.IOExce
- datanode启动后关闭错误“DataNode: Incompatible build versions: namenode”
- Incompatible clusterIDs
- Hadoop2.2.0启动异常 - Incompatible clusterIDs
- java.io.IOException: Incompatible namespaceIDs in /usr/hadoop/tmp/dfs/data: namenode namespaceID = 6
- HOG:用于人体检测的梯度方向直方图 Histograms of Oriented Gradients for Human Detection
- Linux中程序的栈帧分析以及修改函数地址
- RabbitMQ安装与使用
- vsftpd 本地用户无法上传文件解决方法
- 【ITOO】----遍历表格得到每行数据
- bug:datanode启动后立刻死掉:java.io.IOException: Incompatible clusterIDs in....
- HIT ACM 1004 Prime Palindromes
- 《剑指offer》:[36]数组中的逆序对
- Ubuntu 安装jenkins
- SpringMVC中的注解驱动(九)
- 二维数组中的查找
- 二分类SVM方法Matlab实现
- HOG 梯度方向直方图
- Android 动画总结