码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 解决Hadoop集群hdfs无法启动DataNode的问题


    问题描述:#

    在hadoop启动hdfs的之后,使用jps命令查看运行情况时发现hdfs的DataNode并没有打开。

    笔者出现此情况前曾使用hdfs namenode -format格式化了hdfs

    如有三个hadoop集群,分别为hadoop102,hadoop103,hadoop104 其问题情况如下

    可见三个机器均没有将DataNode启动。

    问题分析:#

    进入hadoop根目录的logs中查看DataNode的日志文件

    可以看见报错信息

    java.io.IOException: Incompatible clusterIDs in /opt/module/hadoop-3.1.3/tmp/dfs/data: namenode clusterID = CID-726c3bd8-d0cd-4d36-a62f-c1ee3723935e; datanode clusterID = CID-0a991ac2-ed1e-4b2c-b179-c7d943eeae1f
    

    这里显示NameNode的clusterID和DataNode的clusterID不一致,所以无法启动DataNode

    这种情况可能时因为我们使用hdfs namenode -format的时候仅仅格式化了namenode的clusterID,没有同步格式化DataNode的clusterID。这就导致了二者的clusterID不一致从而无法启动DataNode。

    解决方案:#

    方案一(简单):#

    删除NameNode所在机器的hadioop根目录etc/hadoop/core-site.xml文件中定义的hadoop.tmp.dir 文件夹。笔者这里设置的时hadoop根目录中的data目录。(有些人设置的时tmp目录,根据自己的配core-site.xml中配置的信息来)

    删除NameNode之外的hadoop根目录的data文件夹。

    重新格式化hdfs hdfs namenode -format

    问题解决!

    方案二:#

    观察刚刚的日志文件,可以知道NameNode的ClusterID为CID-726c3bd8-d0cd-4d36-a62f-c1ee3723935e我们只需要用这个clusterID去替换DataNode文件中的clusterID即可

    在NameNode所在机器的hadioop根目录etc/hadoop/core-site.xml文件中定义的hadoop.tmp.dir 文件夹中一直进入到datanode文件中/opt/module/hadoop-3.1.3/tmp/dfs/data/current/VERSION 修改VERSION中的clusterID为刚刚NameNode的clusterID。

    在其他机器中,修改data文件夹中的设置/opt/module/hadoop-3.1.3/data/dfs/data/current/VERSION

    修改VERSION中的clusterID为刚刚NameNode的clusterID。

    问题解决!

  • 相关阅读:
    输出变量的机器数表示
    leetcode 53 最大子数组和
    Latex——双引号的正确输入
    Java ~ Reference ~ FinalReference/Finalizer
    Vue 模板字符串碰到script无法识别,报错Parsing error: Unterminated template.
    kafka 3.5 主题分区的高水位线HW,低水位线LW,logStartOffset,LogEndOffset什么情况下会更新源码
    策略模式:【利于扩展,消除if的模式】
    带有酒店评论的情绪分析 - 处理数据
    (最详细)关于List和Set的区别与应用
    知网CN期刊《新阅读》简介及投稿邮箱
  • 原文地址:https://www.cnblogs.com/13roky/p/16056275.html
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号