Hadoop Cluster启动后数据节点(DataNode)进程状态丢失
来源:互联网 发布:代理软件是fg 编辑:程序博客网 时间:2024/06/03 19:51
- 首先通过命令hadoop dfs namenode -format格式化名称节点,格式化成功以后使用start-dfs.sh和start-yarn.sh脚本启动集群。此时,整个Hadoop集群使用 JPS进程查看命令发现均正常。在没有关闭Hadoop集群的状态下,我们使用了hadoop dfs namenode -format 命令重新格式化了名称节点。此时再次启动hadoop集群,发现数据节点Datanode进程在成功启动后不久就自动退出。我们重新进行了名称节点的格式化和集群的重启,但是数据节点上的进程依旧在重启后发生闪退的现象。经过查阅相关文献,博客http://my.oschina.net/liangtee/blog/161581帮助解决了这一问题,该博文内容如下。
Error 信息
ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs in /var/lib/hadoop-0.20/cache/hdfs/dfs/data: namenode namespaceID = 240012870; datanode namespaceID = 1462711424 .
- 查看日志发现错误类似上面所示:显示由于集群中不兼容的命名空间版本号而导致数据节点Datanode发生系统I/O的错误。肯定是由于在重新初始化名称空间的过程中发生了命名空间版本不一致的情况。
why
问题:Namenode名称节点的namespaceID与datanode数据节点的namespaceID不一致。
- 问题产生原因:每次 namenode format会重新创建一个namenodeId,而tmp/dfs/data下包含了上次format下的id , namenode format 清空了namenode下的数据,但是没有清空datanode下的数据,所以造成namenode节点上的namespaceID与datanode节 点上的namespaceID不一致。从而直接导致了数据节点启动失败。
- 解决方案1(会造成数据丢失,很难恢复找回)
- (1)停掉集群服务,调用stop-dfs.sh和stop-yarn.sh脚本。
- (2)在出问题的datanode节点上删除data目录,data目录即是在 hdfs-site.xml文件中配置的dfs.data.dir目录,本机器上那个是/var/lib/hadoop-0.20/cache/hdfs /dfs/data/ (注:我们当时在所有的datanode和namenode节点上均执行了该步骤。以防删掉后不成功,可以先把data目录保存一个副本).
- (3)格式化namenode,hadoop dfs namenode -format。
- (4)重新启动集群,调用start-dfs.sh和start-yarn.sh脚本。
- 这种方法带来的一个副作用即是,hdfs上的所有数据丢失。如果hdfs上存放有重要数据的时候,不建议采用该方法。其实,我们的目的就是要同步名称节点和数据节点上的NamespaceID,如果有办法可以直接同步该数据项 NamespaceID,那么我们就能够以最小程度的数据丢失实现Hadoop集群的修复。该帖也指出了另一种解决方案如下。
0 0
- Hadoop Cluster启动后数据节点(DataNode)进程状态丢失
- Hadoop 添加数据节点(datanode)
- Hadoop datanode节点无法启动
- Hadoop 数据节点DataNode异常
- hadoop集群启动后,datanode节点上jps后NodeManager无法启动
- hadoop 格式化后没有datanode节点
- hadoop 单节点模式 无法启动datanode
- hadoop集群无法启动datanode节点
- Hadoop 启动节点Datanode失败解决
- Hadoop配置单节点,DataNode没有启动
- Hadoop 启动节点Datanode失败解决
- 启动Hadoop后发现datanode无法启动
- hadoop中Datanode进程无法启动解决方法。
- Hadoop启动后无法看到DataNode
- hadoop配置完成后datanode没有启动
- Hadoop安装后dataNode无法启动
- hadoop启动后通过jps查看进程datanode或namenode不存在问题解决
- hadoop集群启动之后dataNode节点没有启动
- PHP 7.1 + Apache 2.4 + MySQL 5.6非集成环境配置
- 示波器测485串口波特率的使用方法
- nyoj-12-喷水装置(二)
- Java使用JSCH实现对FTPS服务器文件操作
- springMvc 中mvc:interceptor拦截器详解
- Hadoop Cluster启动后数据节点(DataNode)进程状态丢失
- 关于类型萃取
- 常用Shell基本命令
- 抽象类与接口的区别
- 网页提交的方式
- bzoj1054 ---- 送给要入OI的同学
- Theano入门说明(1)——概要
- HTML5 发送验证码后倒计时
- 从汇编语言进一步了解C++三种函数参数传递方式