hadoop啟動namenode日志報這個錯,首先說怎么看日志


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的值,即可
---------------------  
作者:小爺欣欣  
來源:CSDN  
原文:https://blog.csdn.net/csdnliuxin123524/article/details/79785042  
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM