hadoop/journal/ns: NameNode has clusterId ‘CID-b82’ but storage has clusterId ‘CID-657

hadoop/journal/ns: NameNode has clusterId ‘CID-b82’ but storage has clusterId ‘CID-657hadoop/journal/ns: NameNode has clusterId ‘CID-b82’ but storage has clusterId ‘CID-657

大家好,又见面了,我是你们的朋友全栈君。

hadoop启动namenode日志报这个错,首先说怎么看日志,

启动namenode会有这个,ubuntu: starting namenode, logging to /home/xiaoye/hadoop/logs/hadoop-xiaoye-namenode-ubuntu.out

这是hadoop启动时会自动帮助写日志,并告诉我们日志的目录,我直接tail -200 /home/xiaoye/hadoop/logs/hadoop-xiaoye-namenode-ubuntu.out 看日志后200行,可是出现的结果是:

xiaoye@ubuntu:~$ tail -200 hadoop/logs/hadoop-xiaoye-namenode-ubuntu.out
ulimit -a for user xiaoye
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 3645
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 3645
virtual memory          (kbytes, -v) unlimited

file locks                      (-x) unlimited

应该不是这个日志啊,看着不对劲。

于是改成   tail -200 hadoop/logs/hadoop-xiaoye-namenode-ubuntu.log

这个命令,就可以看到出现这个错,NameNode has nsId 229502726 but storage has nsId 695608861

解决办法:原因分析:

是多次格式化namenode导致版本不一致,直接的办法是直接删掉hadoop/hadoop/目录下的data和name目录下的所有文件,然后重新格式化,重新启动。但是这样明显是不提倡的。

这里解决办法是改文件的内容,根据提示,把/hadoop/hadoop/name/current目录下的VERSION文件的namespaceID修改成报错信息中storage的id值。

xiaoye@ubuntu:~$ cd hadoop/hadoop/name/current
xiaoye@ubuntu:~/hadoop/hadoop/name/current$ ls
edits_0000000000000000001-0000000000000000001  fsimage_0000000000000000000.md5
edits_inprogress_0000000000000000002           seen_txid
fsimage_0000000000000000000                    VERSION
xiaoye@ubuntu:~/hadoop/hadoop/name/current$ vim VERSION 
xiaoye@ubuntu:~/hadoop/hadoop/name/current$ 

#Fri Mar 30 00:14:41 PDT 2018
namespaceID=695608861
clusterID=CID-657e9540-2de9-43a2-bf91-199a4334b05a
cTime=0
storageType=NAME_NODE
blockpoolID=BP-583631310-127.0.1.1-1522394081528
layoutVersion=-59
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               

“VERSION” 7L, 200C      

在重新启动namenode 

./hadoop/sbin/hadoop-daemons.sh start namenode

这时namenode还是没有启动成功,与是重复上面步骤,日志出现新的错误。

home/xiaoye/hadoop/journal/ns: NameNode has clusterId ‘CID-b824b399-e941-4982-a618-745373

9d3d55′ but storage has clusterId ‘CID-657e9540-2de9-43a2-bf91-199a4334b05a’

于是还是修改上面的VERSION文件,把clusterId的值改成 storage的值,即可。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106169.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • rpm linux安装(linux安装mysql)

    linux下,如何安装rpm命令?更新时间:2019-05-2007:50最满意答案rpm默认就安装在了发行版本里,比如RedHat和centos。安装软件基本的用法是rpm-ivhxx.rpm。卸载软件的话,先rpm-qa|grepxx(待卸载的软件的关键字,如mysql)。然后rpm-exx。RPM是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具…

    2022年4月15日
    42
  • 什么是互联网,以太网,广域网,局域网的代码_局域网和广域网和城域网的区别

    什么是互联网,以太网,广域网,局域网的代码_局域网和广域网和城域网的区别计算器网络

    2022年10月9日
    2
  • 软件工程需求分析实验_实验设备管理系统需求分析

    软件工程需求分析实验_实验设备管理系统需求分析一、系统的问题描述1.系统简介每学年要对实验室设备使用情况进行统计、更新。其中:(1)对于已彻底损坏的做报废处理,同时详细记录有关信息。(2)对于由严重问题(故障)的要及时修理,并记录修理日期、设备名、编号、修理厂家、修理费用、责任人等。(3)对于急需修改但又缺少的设备,需以“申请表”的形式送交上级领导请求批准购买。新设备购入后要立即进行设备登记(包括类别、设备名、编号、型号、规格、单价、数量、购置日期、生产厂家、保质期和经办人等信息),同时更新申请表的内容。(4)随时对现有设备及其

    2022年10月13日
    2
  • CAS 认证原理[通俗易懂]

    CAS 认证原理[通俗易懂]一CAS原理简介CAS官方网站上的介绍图:主要原理:用户第一次访问一个CAS服务的客户web应用时(访问URL:http://192.168.7.90:8081/web1),部署在客户web应用的casAuthenticationFilter,会截获此请求,生成s…

    2022年6月24日
    68
  • C++中的string类用法简介

    C++中的string类用法简介本文主要介绍C++中的string类的常见用法。1.概述string是C++标准库的一个重要的部分,主要用于字符串处理。可以使用输入输出流方式直接进行string操作,也可以通过文件等手段进行string操作。同时,C++的算法库对string类也有着很好的支持,并且string类还和c语言的字符串之间有着良好的接口。2.常见用法2.1string转换为char*方法一:…

    2022年6月13日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号