栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

hadoop遇到到Exception

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空了,我练习的无所谓

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/701886.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号