hadoop遇到到Exception

hadoop遇到到Exception,第1张

hadoop遇到到Exception 原文链接:

报错:hadoop There appears to be a gap in the edit log. We expected txid 927, but got txid 1265.

Hadoop2.6.4 datanode 无法启动,错误:All specified directories are failed to load. NameNode 启动失败 - There appears to be a gap in the edit log. We expected txid xxx, but got tx 报错原因

上面日志提示 We expected txid 927, but got txid 1265 也就是Namenode想要获取927这个edit,但是获取到的是1265,查看 jn 目录下,发现的确只有1265 即:edits_0000000000000001265-0000000000000001265

报错解决

(1)方法一:命令修复元数据

# hadoop namenode -recover

遇到 (Y/N) 选Y

遇到 (c/s/q/a) 选c

重启hadoop即可

(2)方法二:复制缺失文件(未尝试)

hadoop集群下会有两个JournalNode,可以将另一个节点存在,而此节点不存在的文件使用scp命令复制过来,

文件所在目录是自定义的,例如:/data/hadoop/hdfs/journal/cluster/current

# scp edits_0000000000000000041-0000000000000000043 root@bigdata01:/data/hadoop/hdfs/journal/cluster/current

# hdfs zkfc -formatZK

重启hadoop即可。但是datanode起不来了。如下:

Hadoop2.6.4 datanode 无法启动,错误:All specified directories are failed to load.

解决办法:

方法1.进入tmp/dfs,修改VERSION文件即可,将nameNode里version文件夹里面的内容修改成和master一致的。(我是单机模式,所以把nameNode里VERSION和datanode里VERSION的clusterID保持一致,tmp目录是配置文件时设置的,每个人不同)

/home/software/hadoop-2.7.1/tmp/dfs/name/current

/home/software/hadoop-2.7.1/tmp/dfs/data/current

方法2.直接删除tmp/dfs,然后格式化hdfs即可(./hdfs namenode -format)重新在tmp目录下生成一个dfs文件,格式化慎用。

经过上面两个exception后,hdfs空了,我练习的无所谓

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5701994.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存