Hadoop2.2.0启动异常 – Incompatible clusterIDs

2014年08月29日 ⁄ 综合 ⁄ 共 2399字 ⁄ 字号    ⁄ 评论关闭
今天启动Hadoop2.2.0集群后,发现datanode进程没启动,查看日志发现如下报错:
 
2014-05-15 14:46:50,788 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for block pool Block pool BP-2020521428-192.168.0.166-1397704506565 (storage id DS-432251277-192.168.0.166-50010-1397704557407)
service to singlehadoop/192.168.0.166:8020
java.io.IOException: Incompatible clusterIDs in /home/casliyang/hadoop2/hadoop-2.2.0/metadata/data: namenode clusterID
CID-2cc69ada-3730-4c79-8384-c725fa85859a; datanode clusterID
CID-3e649eb6-cdb3-4a0c-aad8-5948c66bf282
at org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:391)
at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:191)
at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:219)
at org.apache.hadoop.hdfs.server.datanode.DataNode.initStorage(DataNode.java:837)
at org.apache.hadoop.hdfs.server.datanode.DataNode.initBlockPool(DataNode.java:808)
at org.apache.hadoop.hdfs.server.datanode.BPOfferService.verifyAndSetNamespaceInfo(BPOfferService.java:280)
at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.connectToNNAndHandshake(BPServiceActor.java:222)
at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:664)
at java.lang.Thread.run(Thread.java:722)
 
上网查了下,有些文章说的解决办法是删掉数据文件,格式化,重启集群,但这办法实在太暴力,根本无法在生产环境实施,所以还是参考另一类文章的解决办法,修改clusterID:
 
step1:
查看hdfs-site.xml,找到存namenode元数据和datanode元数据的路径:
<property>
  <name>dfs.namenode.name.dir</name>
  <value>file:///home/casliyang/hadoop2/hadoop-2.2.0/metadata/name</value>
</property>
<property>
  <name>dfs.datanode.data.dir</name>
  <value>file:///home/casliyang/hadoop2/hadoop-2.2.0/metadata/data</value>
</property>
 
step2:
打开namenode路径下的current/VERSION文件:
casliyang@singlehadoop:~/hadoop2/hadoop-2.2.0/metadata/name/current$ cat VERSION 
#Thu May 15 14:46:39 CST 2014
namespaceID=1252551786
clusterID=CID-2cc69ada-3730-4c79-8384-c725fa85859a
cTime=0
storageType=NAME_NODE
blockpoolID=BP-2020521428-192.168.0.166-1397704506565
layoutVersion=-47
 
打开datanode路径下的current/VERSION文件:
casliyang@singlehadoop:~/hadoop2/hadoop-2.2.0/metadata/data/current$ cat VERSION 
#Thu Apr 17 11:15:57 CST 2014
storageID=DS-432251277-192.168.0.166-50010-1397704557407
clusterID=CID-3e649eb6-cdb3-4a0c-aad8-5948c66bf282
cTime=0
storageType=DATA_NODE
layoutVersion=-47
 
我们可以看到,name节点元数据的clusterID和data节点元数据的clusterID不一致了,并且和报错信息完全对应上!
接下来将data节点的clusterID修改成和name节点的clusterID一致,重启集群即可。

执行start-dfs.sh后,datenode没有启动的更多相关文章

  1. 执行start-dfs.sh后,datenode没有启动的解决办法

    执行start-dfs.sh后,datenode没有启动,很大一部分原因是因为在第一次格式化dfs后,启动并使用了hadoop,后来又重新执行了格式化命令(hdfs namenode -format) ...

  2. 问题:执行[root@node01 hadoop-2.6.0-cdh5.14.0]# sbin/start-dfs.sh 后,namenode未启动

    执行[root@node01 hadoop-2.6.0-cdh5.14.0]# sbin/start-dfs.sh 后,namenode未启动. 解决步骤: 查看/export/servers/had ...

  3. Hadoop0.20.203.0在关机重启后,namenode启动报错(/dfs/name is in an inconsistent state)

    Hadoop0.20.203.0在关机重启后,namenode启动报错: 2011-10-21 05:22:20,504 INFO org.apache.hadoop.hdfs.server.comm ...

  4. Datenode无法启动

    执行start-dfs.sh后,或者执行datenode没有启动.很大一部分原因是因为在第一次格式化dfs后,启动并使用了hadoop,后来又重新执行了格式化命令 这时主节点namenode的clus ...

  5. django配置文件环境分离后celery的启动方式整理

    django项目中,当配置文件分离时: 启动方式1: 硬编码写死在manage.py中: os.environ.setdefault("DJANGO_SETTINGS_MODULE" ...

  6. 解决hadoop启动后datanode无法启动问题

    hadoop部署完成后datanode无法启动问题解决 1.检查是否有遗留的hadoop进程还在运行,如果有的话,先stop-all.sh或kill杀掉: 2.在master节点上,删除/tmp/ha ...

  7. CDH版本的oozie安装执行bin/oozie-setup.sh prepare-war,没生成oozie.war?

    不多说,直接上干货! 前期博客 Oozie安装部署 问题描述 bin/oozie-setup.sh prepare-war 解决办法 [hadoop@bigdatamaster bin]$ pwd / ...

  8. 背水一战 Windows 10 (118) - 后台任务: 后台下载任务(任务分组,并行或串行执行,组完成后通知)

    [源码下载] 背水一战 Windows 10 (118) - 后台任务: 后台下载任务(任务分组,并行或串行执行,组完成后通知) 作者:webabcd 介绍背水一战 Windows 10 之 后台任务 ...

  9. TerraGate软件安装后,不能启动的解决办法

    在服务端安装Skyline的TerraGate软件的时候,大家可能会遇到过这样的问题,“TerraGate软件安装后,不能启动”,很多时候,这个问题是因为TerraGate设 置的端口号已经被占用造成 ...

  10. hadoop集群之Datenode无法启动解决办法

    hadoop集群之Datenode无法启动解决办法 我们在启动hadoop集群的时候,通过jps查看进程,发现namenode RM和Secondary NameNode都有,但datanode没有启 ...

随机推荐

  1. Django filter中用contains 在mysql中的问题

    用PYTHON ,DJANGO 做站,在通常的情况下,需要用到 orM 的查询方法,比如object.filter(tag__contains='keywords').... 在这种情况下,如果你跟踪 ...

  2. 文档整体解决方案(readthedocs、github 、sphinx)使用

    这里是总结了一下,用的工具或者平台:readthedocs.github .sphinx. 使用这三个工具即可轻松创建高效的文档管理库,可以用来翻译,水平再高一点可以写书. readthedocs 文 ...

  3. BZOJ1984: 月下“毛景树”

    1984: 月下“毛景树” Time Limit: 20 Sec  Memory Limit: 64 MBSubmit: 713  Solved: 245[Submit][Status] Descri ...

  4. 【中国剩余定理】【容斥原理】【快速乘法】【数论】HDU 5768 Lucky7

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5768 题目大意: T组数据,求L~R中满足:1.是7的倍数,2.对n个素数有 %pi!=ai  的数 ...

  5. HBase协处理器

    说明:类似于RDBMS中触发器,允许用户在region服务器上运行自己的代码,在客户端用户不用关心操作具体在哪进行 使用场景:权限控制,回调函数(钩子函数).扫描统计等 主要类:observer和en ...

  6. 《Linear Algebra and Its Applications》-chaper1-向量方程、矩阵方程和线性方程组

    向量: 向量的基本运算:向量的运算最基本的一件事情,就是基于它n个分量上进行,即对于两个分量的向量a = <a1,a2>,b = <b1,b2>,有a + b = <a1 ...

  7. Semaphore — Windows API

    Semaphore是旗语的意思,在Windows中,Semaphore对象用来控制对资源的并发访问数.Semaphore对象具有一个计数值,当值大于0时,Semaphore被置信号,当计数值等于0时, ...

  8. SAE 搭建 WordPress

    WordPress,是国外一款使用PHP语言开发的开源博客平台,用户可以在支持PHP和MySQL 数据库的服务器上架设自己的博客站点,也可以把 WordPress 当作一个内容管理系统(CMS)来使用 ...

  9. 总结XX网app中webapp常见的前端错误。

    在2016年12月至2017年1月,这一个月的时间内,我参与了易政网app中webapp前端项目的工作,下面将我在此次项目中犯的错误总结起来,以防下次再犯.也终于知道之前看的文章中的一段话所代表的意义 ...

  10. redis常见错误

    1.Redis Error --MISCONF Redis is configured to save RDB snapshots省略 分析:(linux)未用root启动,用的app用户(没有最高权 ...