记录Hbase出现HMaster一直初始化,日志打印hbase:meta,,1.1588230740 is NOT online问题的解决

具体错误

hbase:meta,,1.1588230740 is NOT online; state={1588230740 state=OPEN, ......

 使用 hbase 2.5.5 ,hdfs和hbase分离两台服务器。

总过程

1. 问题发现

在使用HBase的程序发出无法进行插入到HBase操作日志后检查HBase状况。发现master节点和region节点都挂了,HBase自动切换到备用master节点。关闭备用master节点,重新启动HBase集群,WEB界面发现上一次启动的节点在Dead Region中不自动清除,且Region Transition卡住了395条,看日志发现master节点一直在抛出is not online on ...,16020,1569380560106异常,确认HBase没有正常运行。

检查日志发现主节点抛出如上错误。

2. 解决过程

2.1 is not online on ...,16020,1569380560106异常

重启观察到Dead Region每次会增加,感觉应该是HMaster初始化中重启导致的状态问题。之前测试环境解决这个问题是清空zookeeper和hdfs的hbase相关信息,但是因为有数据不希望清除,考虑解决该问题。

先去hdfs节点检查hbase文件有没有损坏的情况。

hdfs fsck

输出未发现数据块损坏的情况。 搜索后确认为hbase内部问题。搜索得到hdfs的hbase路径下WALs保存regionserver节点的信息,遂考虑清空重启看看能不能解决这个问题。

hdfs dfs -mkdir /hbase/WALs20240521hdfs dfs -mv /hbase/WALs/* /hbase/WALs20240521

运行后问题依旧存在,检查日志后猜测是找不到某个节点的信息导致HMaster节点无法正常初始化。在WALs中新建了一个空白的hbase:meta找不到的1,16020,1569380560106文件夹,再次重启后HMaster恢复正常,多余的Dead Region在等待三四分钟后自动清除,HBase恢复正常运行。

2.2 出现了数据缺失的情况

在HBase恢复正常后,在HBase Web UI中的HBCK REPORT发现大量的Incontinent Regions和Unknown Servers信息,怀疑是数据有问题,在使用自己的业务程序测试后发现有部分数据的请求在master节点会抛出类似于 [表名],[rowkey],[encode]在region2.16000,[encode]这里不存在,region2,16000,[encode]不在线。

初期怀疑是数据损坏了,希望通过HBCK进行修复region的hole问题,因为是2代所以从GIT上拉相关工具,官网上获取的。可能在运行 hbase hbck -j xxx.jar 后会抛出没找到文件系统 hdfs 的错误,可以加上 --internal-classpath来解决这个问题。我是因为hdfs 和 hbase 不在同一个服务器上,也可以通过添加环境变量HADOOP_HOME来解决这个错误。

首次使用fixMeta来尝试修补表中的holes解决文件损坏问题。

hbase hbck -j xxxx.jar fixMeta

运行后观察master节点的日志,发现返回了hbase:meta中发现的holes为0,排除了数据损坏的情况。焦点回到unknown servers上。

hbase hbck -j xxx.jar scheduleRecoveries [encode]

恢复崩溃的 RegionServer 上的所有 region。

3. 过程中用到的指令

hbase hbck -j xxxx.jar -o assigns [encode] # 分配Region in transition中卡住的任务
hbase hbck -j xxxx.jar bypass [pid]   # 将producer中的强行释放,在任务卡住的时候可以用
hbase hbck -j xxxx.jar fixMeta    # 修复hbase:meta的问题,需要程序正常运行

结语

仅为在网络上找到的一些方法和自己踩的坑,肯定有错误的地方,希望可以指正,谢谢。具体命令可以在HBCK2项目中的README.md中详解。

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

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

相关文章

大模型应用商业化落地关键:给企业带来真实的业务价值

2024 年被很多人称为大模型应用的元年,毫无疑问,大模型已经成为共识,下一步更急迫的问题也摆在了大家的面前——大模型到底能够用在哪?有哪些场景能落地?怎么做才能创造真正的价值? 在刚刚过去的 AICon 全…

【排序算法】快速排序(四个版本以及两种优化)含动图)

制作不易,三连支持一下吧!!! 文章目录 前言一.快速排序Hoare版本实现二.快速排序挖坑法版本实现三.快速排序前后指针版本实现四.快速排序的非递归版本实现五.两种优化总结 前言 前两篇博客介绍了插入和选择排序,这篇博…

halcon配合yolov8导出onnx模型检测物体

1.工业上多数视觉开发都是用halcon开发的,halcon本身也有自己的深度学习网络,至于halcon如果不使用本身的深度学习,使用其他网络导出的onnx模型怎样配合使用?本文基于yolov8写一个列子。 2。创建输入数据的转换代码 #region 创建输…

Nginx高可用性架构:实现负载均衡与故障转移的探索

随着网络应用的不断发展和用户访问量的增长,如何确保系统的高可用性、实现负载均衡以及快速响应故障转移成为了每个运维和开发团队必须面对的挑战。Nginx作为一款高性能的HTTP和反向代理服务器,凭借其强大的功能和灵活的配置,成为了实现这些目…

题目:填空练习(指向指针的指针)

题目:填空练习(指向指针的指针) There is no nutrition in the blog content. After reading it, you will not only suffer from malnutrition, but also impotence. The blog content is all parallel goods. Those who are worried about …

【bugfix】/usr/local/bin/docker-compose:行1: html: 没有那个文件或目录

前言 在使用 docker-compose 管理容器化应用时,偶尔会遇到一些意想不到的错误,比如当尝试运行 docker-compose 命令时,终端非但没有展示预期的输出,反而出现类似网页错误的信息。这类问题通常与 docker-compose 的安装或配置有关…

首都师范大学聘请旅美经济学家向凌云为客座教授

2024年4月17日,首都师范大学客座教授聘任仪式在首都师范大学资源环境与旅游学院举行。首都师范大学资源环境与旅游学院院长吕拉昌主持了仪式,并为旅美经济学家向凌云教授颁发了聘书。 吕拉昌院长指出,要贯彻教育部产学研一体化战略&#xff0…

数据库工具类

public interface DbMapper {/*** 查询数据库类型*/String queryDbType(); }<select id"queryDbType" resultType"java.lang.String">select<choose><when test"_databaseId mysql">mysql</when><when test"_d…

虚拟机Centos扩展磁盘空间

虚拟机空间&#xff1a;现sda大小20G&#xff0c;因课程需要扩容 在虚拟机扩容中&#xff0c; 新增一块硬盘 和 直接在原有硬盘基础上扩容是一样的&#xff08;只不过在原有硬盘上扩容需要关机才可以执行&#xff09;&#xff1b; 但两者都最好先做数据备份或快照&#xff0c…

夏令营复习coding 算法第一天-状态:新奇

T1:bubble冒泡排序 &#xff08;1&#xff09;思路&#xff1a;两次循环&#xff0c;外层循环从后面开始-作为一个支点&#xff0c;内层循环每次将当前需要排序的最大的那个元素一步步移动到该支点&#xff0c;最终升序排列完成 &#xff08;2&#xff09;代码: #include &l…

5、设计模式之适配器模式/原型模式

文章目录 开始之前适配器模式使用场景注意事项何时使用优缺点代码实现 原型模式深拷贝和浅拷贝 开始之前 本章节是一个系列&#xff0c;里面用的的代码实例都是连贯的。在实现某一种设计模式时&#xff0c;为了减少代码篇幅&#xff0c;前面博客出现model类&#xff08;仅限公…

【LabVIEW FPGA入门】同步C系列模块

1.同步使用循环定时器VI计时循环速率的系列模块 数字模块SAR ADC 模块多路复用模块 数字通道可以在一个时钟周期内执行。模拟通道需要多个时钟周期。 同步模拟模块的每个通道有一个 ADC&#xff0c;采集的数据在通道之间没有明显的偏差。多路复用模块使用多路复用器通过单个 A…

Docker安装并部署Gitlab,同时解决Gitlab服务经常503/500的问题

文章目录 Docker 安装Gitlab部署后需要解决的小问题1. 获取初始密码2. 解决刚安装好的Gitlab频繁出现503/500并重启的错误 Docker 安装Gitlab docker pull gitlab/gitlab-cedocker run -d -p 11443:443 -p 11090:80 -p 11022:22 \ --name gitlab \ --restart unless-stopped \…

深入理解NumPy与Pandas【numpy模块及Pandas模型使用】

二、numpy模块及Pandas模型使用 numpy模块 1.ndarray的创建 import numpy as np anp.array([1,2,3,4]) bnp.array([[1,2,3,4],[5,6,7,8]]) print(a) #[1 2 3 4] print(b) #[[1 2 3 4][5 6 7 8]] 1.1使用array()函数创建 numpy.array(object, dtype None, copy True, ord…

vue2和vue3区别

Vue 3是Vue.js框架的下一代主要版本&#xff0c;它在2020年9月正式发布。Vue 3带来了一系列的新特性和改进&#xff0c;包括性能提升、更小的打包尺寸、更好的TypeScript支持、新的组合式API等。以下是Vue 2和Vue 3之间的一些主要区别&#xff1a; 1. 性能提升&#xff1a; …

计算机存储单位

目录 是什么 存储单位的划分 存储单位转换关系表 相关疑问 存储单位转换除了位之外的存储单位转换规则是什么 为什么在编码中最小的操作单位不是位 是什么 用来度量数据存储容量的单位。 存储单位的划分 存储单位有 位&#xff08;bit&#xff0c;也称为比特&#xff…

光伏项目怎么做预算?

随着可再生能源行业的蓬勃发展&#xff0c;光伏行业也得到了扩张。许多想要加入光伏项目投资的人&#xff0c;都在为怎样为项目做预算而苦恼&#xff0c;今天我就来跟大家分析下可以怎么做。 一、了解市场需求&#xff0c;确定预算目标 在制定光伏项目预算方案之前&#xff0c…

《SpringBoot》系列文章目录

SpringBoot是由Pivotal团队提供的全新框架&#xff0c;旨在简化新Spring应用的初始搭建以及开发过程。以下是一些关于SpringBoot的详细介绍&#xff1a; 设计目的&#xff1a;SpringBoot通过特定的方式来进行配置&#xff0c;使得开发人员不再需要定义样板化的配置&#xff0c…

「贪心算法」将数组和减半的最少操作次数

力扣原题链接&#xff0c;点击跳转。 给你一个数组&#xff0c;每次可以把其中一个数减半&#xff0c;可以对同一个数多次减半。至少操作多少次&#xff0c;才能让数组的和整体减少至少一半呢&#xff1f; 我们每次都选择当前数组中最大的那个数减半&#xff0c;就能减少最多…

链路初始化和训练

一、总览 链路初始化和训练&#xff0c;由物理层进行控制&#xff0c;是一个基于硬件的过程。初始化设备的链路和端口&#xff0c;使得设备能够收发报文&#xff0c;在链路上正常通信。 在reset后由硬件自动启动完整的训练过程&#xff0c;并由LTSSM管理。 1 位锁定 训练开始…