首页 > 编程语言 >数据盘故障导致journalnode异常恢复

数据盘故障导致journalnode异常恢复

时间:2024-03-06 09:58:35浏览次数:30  
标签:journalnode 异常 故障 jn namenode data1 节点

背景环境:hdp2.6.6部署的小集群(4节点),这个投入生产后,转手了很多批次人维护,安装源介质这些通通都找不到了,目前官网无法下载hdp的安装介质,中途有坏了一个节点的系统盘,维修好了后,因为没有安装介质,一直都没有恢复。集群部署了4个jn,昨天一个节点的data1故障,导致namenode异常无法启动和ha切换。

异常原因:因为是小集群,没有做服务进程规划,组件都是公用的节点的情况,刚刚好data1这个盘是namenode和journalnode的数据存储盘,导致editlog读取写入异常,ha的切换失败,最后两个节点namenode同时异常,后面停掉该节点的jn,但是因为部署了4个jn,导致没有超过半数以上的jn存活,所以无法拉起namenode

处理方式:journalnode的作用有点像zookeeper,每个节点的数据都是一样的,所以恢复思想是从正常的节点将数据复制到故障节点,然后重新启动journalnode,启动完成后再重启namenode

操作步骤:

1、将故障节点的data1给umount掉,umount报错无法移除,可以通过losf|grep data1,看看是什么进程在占用了该目录,然后将进程kill掉

2、将正常节点上的journalnode数据拷贝到异常节点,然后给建个软链回到data1下面,目录权限跟正常节点一致

3、重启故障节点的journalnode,查看日志看看是不是正常

4、重启namenode(非故障节点),等待启动完成后加载,看看状态能不能回到active的情况

5、故障节点的namenode数据存储目录也建一个软连接,使用的目录要跟正常的一样,这个可以不用拷贝数据,启动后会在journalnode拉取新的,正常会成为备用节点

6、检查hdfs是否可以进行读写了,正常后就恢复了,后面可以写故障分析和故障报告了

标签:journalnode,异常,故障,jn,namenode,data1,节点
From: https://www.cnblogs.com/zyp87/p/18055829

相关文章

  • SpringBoot中try/catch异常并回滚事务(自动回滚/手动回滚/部分回滚)
    https://www.cnblogs.com/cfas/p/16423510.html https://www.cnblogs.com/konglxblog/p/16229175.htmlSpringBoot异常处理回滚事务详解(自动回滚、手动回滚、部分回滚)(事务失效) 参考:https://blog.csdn.net/zzhongcy/article/details/102893309概念事务定义事务,就是一......
  • 常见异常种类(3.1)
    2024.3.1异常种类常用异常AttributeError试图访问一个对象没有的树形,比如foo.x,但是foo没有属性xIOError输入/输出异常;基本上是无法打开文件ImportError无法引入模块或包;基本上是路径问题或名称错误IndentationError语法错误(的子类);代码没有正确对齐IndexError下标索......
  • 第六章:异常
    1.异常概述1.1.什么是异常?有什么作用?Java中的异常是指程序运行时出现了错误或异常情况,导致程序无法继续正常执行的现象。例如,数组下标越界、空指针异常、类型转换异常等都属于异常情况。Java提供了异常处理机制,即在程序中对可能出现的异常情况进行捕捉和处理。异常机制可以......
  • java 异常初识
    什么是异常◆实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求、你的程序要打开某个文件,这个文件可能不存在或者文件格式不对,你要读取数据库的数据,数据可能是空的等。我们的程序再跑着,内存或硬盘可能满了。等等◆软件程序在运行过程中,非......
  • 记一次openfeign反序列化异常复盘
    前言之前业务部门有2个通用响应类,一个是负责和前端交互的响应类AjaxResult,一个是负责和后端RPC接口交互的响应类RpcResult。一开始这两个响应类的值字段都一样,形如下 privateBooleansuccess; privateStringmessage; privateIntegercode; privateTdata;因为前端和......
  • C++ 异常处理
    菜鸟教程C语言中文网程序的错误大致可以分为三种,分别是语法错误、逻辑错误和运行时错误:1)语法错误在编译和链接阶段就能发现,只有100%符合语法规则的代码才能生成可执行程序。语法错误是最容易发现、最容易定位、最容易排除的错误,程序员最不需要担心的就是这种错误。2)逻辑错......
  • JSON.parse解析字符串报错-SyntaxError: Unexpected token ‘ in JSON at position 报
    “SyntaxError:Unexpectedtoken’inJSONatposition”报错原因是因为解析的字符串对象中,JSON.parse无法识别;JSON.parse可以将标准的json类型数据转换为JavaScript对象,如果数据不是正确的json类型的数据则会控制台报错,可能会阻断代码的正常运行我们可以写一个函数来......
  • pod常见的非故障及故障状态解析
    在Kubernetes中,Pod的状态可以反映其当前的生命周期状态、是否正常运行或遇到了某些状况。以下是一些Pod常见的非故障状态:Running:这是Pod最常见的非故障状态,表示Pod已经成功调度到了一个节点上,并且其中所有的容器都已经被成功创建,至少有一个容器正在运行。Succeeded:这个状态通常......
  • 断电引起文件scn异常数据库恢复---惜分飞
    联系:手机/微信(+8617813235971)QQ(107644445)标题:断电引起文件scn异常数据库恢复作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]由于异常断电,数据库最初启动报错FriMar0108:41:172024ALTERDATABASE  MOUNTSucces......
  • python——异常
        在原本的tryexcept结构的基础上,Python 异常处理机制还提供了一个else块,也就是原有tryexcept语句的基础上再添加一个else块,即tryexceptelse结构。使用else包裹的代码,只有当try块没有捕获到任何异常时,才会得到执行;反之,如果try块捕获到异常,即便调用对......