NameNode 启动失败 - There appears to be a gap in the edit log. We expected txid xxx, but got tx

场景

NameNode迁移,导致一个节点无法启动

异常

在Namenode主动迁移,或者Namenode机器挂掉无法恢复时,我们需要Namenode节点迁移,迁移经常会出现一个NameNode启动成功,另外一个standby启动失败,报错如下

2019-09-27 15:19:23,818 WARN org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Encountered exception loading fsimage
java.io.IOException: There appears to be a gap in the edit log.  We expected txid 266899638, but got txid 267088002.at org.apache.hadoop.hdfs.server.namenode.MetaRecoveryContext.editLogLoaderPrompt(MetaRecoveryContext.java:94)at org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.loadEditRecords(FSEditLogLoader.java:230)at org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.loadFSEdits(FSEditLogLoader.java:158)at org.apache.hadoop.hdfs.server.namenode.FSImage.loadEdits(FSImage.java:882)at org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:739)at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:317)at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:1112)at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:738)at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:665)at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:727)at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:950)at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:929)at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1653)at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1720)
2019-09-27 15:19:23,832 INFO org.eclipse.jetty.server.handler.ContextHandler: Stopped o.e.j.w.WebAppContext@4c398c80{/,null,UNAVAILABLE}{/hdfs}
2019-09-27 15:19:23,838 INFO org.eclipse.jetty.server.AbstractConnector: Stopped ServerConnector@75390459{HTTP/1.1,[http/1.1]}{fwqml009.zh:9870}
2019-09-27 15:19:23,838 INFO org.eclipse.jetty.server.handler.ContextHandler: Stopped o.e.j.s.ServletContextHandler@4983159f{/static,file:///opt/cloudera/parcels/CDH-6.0.0-1.cdh6.0.0.p0.537114/lib/hadoop-hdfs/webapps/static/,UNAVAILABLE}
2019-09-27 15:19:23,839 INFO org.eclipse.jetty.server.handler.ContextHandler: Stopped o.e.j.s.ServletContextHandler@753432a2{/logs,file:///var/log/hadoop-hdfs/,UNAVAILABLE}
2019-09-27 15:19:23,840 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Stopping NameNode metrics system...
2019-09-27 15:19:23,841 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: NameNode metrics system stopped.
2019-09-27 15:19:23,842 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: NameNode metrics system shutdown complete.
2019-09-27 15:19:23,842 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: Failed to start namenode.
java.io.IOException: There appears to be a gap in the edit log.  We expected txid 266899638, but got txid 267088002.at org.apache.hadoop.hdfs.server.namenode.MetaRecoveryContext.editLogLoaderPrompt(MetaRecoveryContext.java:94)at org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.loadEditRecords(FSEditLogLoader.java:230)at org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.loadFSEdits(FSEditLogLoader.java:158)at org.apache.hadoop.hdfs.server.namenode.FSImage.loadEdits(FSImage.java:882)at org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:739)at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:317)at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:1112)at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:738)at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:665)at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:727)at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:950)at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:929)at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1653)at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1720)
2019-09-27 15:19:23,844 INFO org.apache.hadoop.util.ExitUtil: Exiting with status 1: java.io.IOException: There appears to be a gap in the edit log.  We expected txid 266899638, but got txid 267088002.

 

在网上一搜上面异常,基本都是

hadoop namenode -recover

或者让我格式化NameNode...(线上数据不能这么玩~)

我的场景使用 -recover 会报错,:( 

 

原因分析 

        原因是 standby Namenode启动会去 jn (JournalNode,Namenode HA场景下,是通过JournalNode进行过数据同步)获取数据,但是jn 没有,具体查看一下

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

[root@jast009 current]# ll
总用量 480380
-rw-r--r-- 1 hdfs hdfs         8 9月  27 15:23 committed-txid
-rw-r--r-- 1 hdfs hdfs   2506691 9月  26 15:58 committed-txid.bak
-rw-r--r-- 1 hdfs hdfs        25 9月  26 10:30 edits_0000000000267088002-0000000000267088002
-rw-r--r-- 1 hdfs hdfs       755 9月  26 10:37 edits_0000000000267088003-0000000000267088010
-rw-r--r-- 1 hdfs hdfs       756 9月  26 10:39 edits_0000000000267088011-0000000000267088018
-rw-r--r-- 1 hdfs hdfs      1471 9月  26 10:41 edits_0000000000267088019-0000000000267088032
-rw-r--r-- 1 hdfs hdfs       756 9月  26 10:43 edits_0000000000267088033-0000000000267088040
-rw-r--r-- 1 hdfs hdfs      1470 9月  26 10:45 edits_0000000000267088041-0000000000267088054
-rw-r--r-- 1 hdfs hdfs      1472 9月  26 10:47 edits_0000000000267088055-0000000000267088068
-rw-r--r-- 1 hdfs hdfs   1048576 9月  26 10:47 edits_0000000000267088069-0000000000267088069
-rw-r--r-- 1 hdfs hdfs     12401 9月  26 10:52 edits_0000000000267088070-0000000000267088170
-rw-r--r-- 1 hdfs hdfs   2580282 9月  26 10:54 edits_0000000000267088171-0000000000267104853
-rw-r--r-- 1 hdfs hdfs    309195 9月  26 10:56 edits_0000000000267104854-0000000000267106831
-rw-r--r-- 1 hdfs hdfs    264231 9月  26 10:58 edits_0000000000267106832-0000000000267108442
-rw-r--r-- 1 hdfs hdfs    915772 9月  26 11:00 edits_0000000000267108443-0000000000267114308
-rw-r--r-- 1 hdfs hdfs    727526 9月  26 11:02 edits_0000000000267114309-0000000000267118780
-rw-r--r-- 1 hdfs hdfs   3411288 9月  26 11:04 edits_0000000000267118781-0000000000267139507
-rw-r--r-- 1 hdfs hdfs   1048576 9月  26 11:04 edits_0000000000267139508-0000000000267139508
-rw-r--r-- 1 hdfs hdfs     17352 9月  26 11:10 edits_0000000000267139509-0000000000267139673
-rw-r--r-- 1 hdfs hdfs   1282451 9月  26 11:12 edits_0000000000267139674-0000000000267146671
-rw-r--r-- 1 hdfs hdfs   2714992 9月  26 11:14 edits_0000000000267146672-0000000000267164211
-rw-r--r-- 1 hdfs hdfs    340434 9月  26 11:17 edits_0000000000267164212-0000000000267166258
-rw-r--r-- 1 hdfs hdfs    335975 9月  26 11:19 edits_0000000000267166259-0000000000267168268
-rw-r--r-- 1 hdfs hdfs    423730 9月  26 11:21 edits_0000000000267168269-0000000000267171145
-rw-r--r-- 1 hdfs hdfs   1048576 9月  26 15:29 edits_0000000000267171146-0000000000267174696
-rw-r--r-- 1 hdfs hdfs       757 9月  26 15:34 edits_0000000000267233868-0000000000267233875
-rw-r--r-- 1 hdfs hdfs   1048576 9月  26 15:55 edits_0000000000267233876-0000000000267233972
-rw-r--r-- 1 hdfs hdfs  22020096 9月  27 10:53 edits_0000000000267233973-0000000000267396690
-rw-r--r-- 1 hdfs hdfs 382730240 9月  27 15:23 edits_inprogress_0000000000267396691
-rw-r--r-- 1 hdfs hdfs         3 9月  27 11:00 last-promised-epoch
-rw-r--r-- 1 hdfs hdfs         3 9月  27 11:00 last-writer-epoch
drwxr-xr-x 2 hdfs hdfs         6 9月  27 11:00 paxos
-rw-r--r-- 1 hdfs hdfs       136 9月  26 10:30 VERSION

我们尝试将需要的数据copy到jn 目录下,并重启,看看是否可以恢复。

我们去NameNode目录下(两个NameNode节点目录都看一下)将所有edits_0xxxx文件全部复制到 jn节点保存目录

这里复制过程省略.......  scp即可,看自己心情

 

文件复制完成后,需要重启 JN 节点(JN 都停了的话Namenode也需要停),是使新导入数据生效

 

启动Namenode,发现成功

 查看日志,万事大吉,一切正常工作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/509869.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

opengl光照

看一张图片&#xff1a; 图中绘制了两个大小相同的白色球体。其中右边的一个是没有使用任何光照效果的&#xff0c;它看起来就像是一个二维的圆盘&#xff0c;没有立体的感觉。左边的一个是使用了简单的光照效果的&#xff0c;我们通过光照的层次&#xff0c;很容易的认为它是一…

Nifi 之 kafka消费存入hbase

添加kafka processor&#xff0c;配置如下 kakfa数据格式为JSON&#xff1a; {"events_tag":"103913","query_word":"华大癌变 虎嗅","time":"2018-08-09 13:01:11"} 添加putHbaseJSON&#xff0c;json格式添加数…

web通讯录之搜索功能

手机号搜索&#xff1a; 姓名搜索&#xff1a; 拼音搜索&#xff1a; 城市搜索&#xff1a; 性别搜索&#xff1a; 点击姓名或者电话显示完整信息 相信大家期待自己所写的搜索功能类似于百度、谷歌这种搜索引擎&#xff0c;有兴趣的读者可以去学学SEO&#xff0c;在这里我…

opengl多重纹理映射

关于多重纹理:首先如果一个显卡支持多重纹理,表示它可以将几次渲染合为一次来进行,在这个渲染过程中,你可以在不同的纹理单元分别放入第0次,第1次,第2次需要渲染的对象.当程序向屏幕绘图时,将这些渲染结果叠加起来,将最终结果显示到屏幕.每个纹理单元对应有其纹理环境,这个纹理…

Hbase 删表过程

Hbase 执行删表命令后(drop)&#xff0c;表的数据会移动到 /hbase/archive 目录下&#xff0c;并不会直接从hdfs删除&#xff0c;后台会有进程定期去检查&#xff08;默认五分钟&#xff09;&#xff0c;如果这张表没有快照则会删除&#xff0c;有快照会保留数据。 刚drop时&a…

web通讯录常见问题解答以及增加个性功能

由于时间原因&#xff0c;还有很多功能并没有完善&#xff0c;在前面的两篇博文中仅仅给出了部分页面的代码&#xff0c;服务器端的代码没有粘贴出来&#xff0c; 还未完善的部分&#xff0c;1.过滤器&#xff1a;只有在用户登录完之后才显示主界面&#xff0c;这部分我知道怎…

opengl纹理单元

可以这样简单的理解为&#xff1a;显卡中有N个纹理单元&#xff08;具体数目依赖你的显卡能力&#xff09;&#xff0c;每个纹理单元&#xff08;GL_TEXTURE0、GL_TEXTURE1等&#xff09;都有GL_TEXTURE_1D、GL_TEXTURE_2D等&#xff0c;如下代码&#xff1a; [cpp] view plain…

Spark 创建 hive表报错 ROW FORMAT DELIMITED is only compatible with 'textfile', not 'parquet'

场景&#xff1a; 在spark分析数据时&#xff0c;创建hive表失败。 提示异常 &#xff1a; 19/10/09 10:59:18 INFO execution.SparkSqlParser: Parsing command: CREATE EXTERNAL TABLE IF NOT EXISTS dm_xxx.user_area(biFollowersCount String,city String,created_at Str…

web登录时候加入过滤器的用法

有关过滤器的讲解我就不多加说明了&#xff0c;想要了解的可以自行看博文&#xff0c;写的很详细。 首先说说我想实现的功能&#xff0c;做学生信息管理系统的时候当用户注销后&#xff0c;虽然界面跳转到登录界面但当我们在地址栏中输入主界面地址还是跳转到主界面&#xff0…

多重纹理和纹理组合器

多重纹理和纹理组合器 本文主要介绍OpenGL中两种技术的使用方法&#xff1a;多重纹理技术和纹理组合器技术&#xff0c;最终根据参考【2】中的代码&#xff0c;实现了两个简单的演示DEMO&#xff0c;其中使用到了《八叉树颜色量化、BMP、TGA文件解析》篇章中提供的图像解析类。…

ClouderaManager agent 报错,无法连接到结群 Error, CM server guid updated, expected xxx , received xxx

场景 集群版本&#xff1a;CDH 6.0.1 服务器版本&#xff1a;Centos 7.3 JAVA版本&#xff1a;1.8 异常出现原因 搭建集群中遇到异常&#xff0c;删除agent节点&#xff0c;重新部署CM后发现异常&#xff0c;CDH处于无法使用状态 异常 查看agent日志会出现,说无法连接到…

1192 约瑟夫问题(1)

1192 约瑟夫问题&#xff08;1&#xff09; Time Limit : 2000/1000 MS(Java/Others) | Memory Limit :65536/32768 KB(Java/Others) Submits : 1235 | Solved : 716 Description 模拟这个游戏。有n个人围成一圈&#xff0c;从第一个人开始沿顺时针方向报数&#xff08;从1到3…

CDH Kerberos 认证下Kafka 消费方式

集群Kerberos认证安装参考&#xff1a;https://datamining.blog.csdn.net/article/details/98480008 目录 环境&#xff1a; 配置 Java Producer 代码 文件内容&#xff1a; kafka_client_jaas.conf krb5.conf ( kerberos 配置文件复制过来即可) kafka.keytab Java Co…

glsl基础

目录[-] 变量 基本类型 结构体 数组 修饰符 内置变量 表达式 操作符 数组访问 构造函数 成分选择 控制流 循环 if/else discard 函数 变量 GLSL的变量命名方式与C语言类似。变量的名称可以使用字母&#xff0c;数字以及下划线&#xff0c;但变量名不能以数字开头&#xff0c;还…

1260 不一样的A+B

1260 不一样的AB Time Limit : 2000/1000 MS(Java/Others) | Memory Limit :65536/32768 KB(Java/Others) Submits : 641 | Solved : 357 Description 读入两个小于100的正整数A和B&#xff0c;计算AB的值并输出。需要注意的是&#xff1a;整数A和B的每一位数字由对应的英文单…

IntelliJ IDEA Maven jar包冲突解决,快速发现jar包冲突

IntelliJ IDEA 自带的Diagrams 去查看jar包冲突相当费劲 ~ &#xff0c;安装个插件即可快速解决该问题 打开Settings&#xff0c;搜索maven helper&#xff0c;并安装 安装完成后&#xff0c;直接打开pom文件&#xff0c;点击Dependency Analyzer 删除冲突jar包&#xff0c;在…

GLSL学习教程博客

http://blog.csdn.net/racehorse/article/details/6593719

1185 城市名排序

1185 城市名排序 Time Limit : 2000/1000 MS(Java/Others) | Memory Limit :65536/32768 KB(Java/Others) Submits : 3989 | Solved : 2049 Description 从键盘输入n个城市名&#xff0c;进行升序排序并输出。 Input 第一行输入一个整数n&#xff0c;表示有n个城市&#xff0…

osg基本图元

OSG绘制几何体学习总结&#xff08;超全&#xff09;在osg中&#xff0c;场景图形采用一种自顶向下的&#xff0c;分层的树状数据结构来组织空间数据集&#xff0c;以提高渲染的效率 场景图形树结构的顶部是一个根节点&#xff0c;从根节点向下延伸&#xff0c;各个组节点中均包…

kafka如何彻底删除topic及数据

前言&#xff1a; 删除kafka topic及其数据&#xff0c;严格来说并不是很难的操作。但是&#xff0c;往往给kafka 使用者带来诸多问题。项目组之前接触过多个开发者&#xff0c;发现都会偶然出现无法彻底删除kafka的情况。本文总结多个删除kafka topic的应用场景&#xff0c;总…