当前位置: 首页 > news >正文

软件工程学习日志2025.9.23

我的 HBase 故障排查日记:从绝望到成功的一天

今天是我与 HBase 斗争的一天,也是一次从挫折到突破的技术之旅。早上当我尝试启动 HBase 时,遭遇了一系列令人困惑的问题,最终通过系统性的排查找到了解决方案。

问题初现

一切始于一个简单的命令:start-hbase.sh。终端显示服务正在启动,但 jps 检查时却发现只有 HQuorumPeer 在运行,关键的 HMaster 和 HRegionServer 进程神秘失踪。更奇怪的是,日志文件只显示了系统资源限制信息,完全没有 HBase 自身的启动日志。

排查过程

我首先检查了基本的配置:
• 确认 Java 环境正确(Java 8)

• 验证 HDFS 正常运行

• 检查 ZooKeeper 状态正常

但问题依然存在。于是我开始深入排查:

第一轮尝试:直接运行 bin/hbase master start,但只看到使用说明,没有实际启动。

第二轮尝试:检查类路径,发现缺少关键依赖。手动添加了 htrace-core 和其他必要库。

第三轮尝试:解决了 SLF4J 绑定冲突,移除了 Hadoop 中的重复绑定。

突破时刻

真正的突破来自当我决定在前台手动启动 HMaster 并捕获详细输出:
bin/hbase master start 2>&1 | tee /tmp/hmaster-debug.log

通过分析实时输出,我发现了一系列依赖缺失和配置问题。最终,通过以下步骤解决了问题:

  1. 解决依赖冲突:移除 Hadoop 中的 slf4j-reload4j,保留 HBase 的 slf4j-log4j12
  2. 添加缺失依赖:手动下载并添加 htrace-core、commons-configuration 等必要库
  3. 修复权限问题:确保日志目录有正确权限
  4. 清理环境:重置 ZooKeeper 和 HDFS 中的 HBase 数据

成功时刻

经过多次尝试,终于看到了成功的迹象:
• HMaster 和 HRegionServer 进程出现在 jps 输出中

• HBase Shell 能够正常连接并执行命令

• Web UI 可以正常访问

http://www.hskmm.com/?act=detail&tid=15019

相关文章:

  • markdown 使用指南
  • 第6.2节 Android Agent制作<三>
  • LVS 服务器 知识
  • 07-django+DRF项目中统一json返回格式 - 详解
  • 软工第二次作业——个人项目
  • 近十年 CSP-J 复赛知识点分布表
  • AT_arc181_d [ARC181D] Prefix Bubble Sort
  • 【MySQL】使用C/C++链接mysql数据库 - 指南
  • 枚举子集
  • cv-css 快捷方式,将指定节点的计算样式获取下拉 获取tailwind网页样式成原生样式
  • day002
  • PyTorch图神经网络(四)
  • 软件工程:构建数字世界的基石
  • Avalonia 学习笔记07. Control Themes(控件主题)
  • matter 协议的架构;
  • matter 协议解析;
  • 9月23日
  • Nordic 的支持对Matter 协议的支持;
  • nRF54LM20A USB
  • nRF54LM20A GRTC
  • 2025年10款最佳生产力提效chrome插件推荐,亲测有用
  • Avalonia 学习笔记06. Page Layout(页面布局)
  • 发表第一篇文章,谈谈对软件工程的理解
  • nRF54LM20A 芯片分析;
  • 第二天
  • 内部类
  • NRF54L15 两者结合的jlink保护机制(硬件+软件)
  • 软件测试员的核心技能:一文掌握等价类划分与边界值分析
  • 《CBI 技术有聊》对话 OpenCSG:智能体落地困境与企业转型的必然路径
  • 个人对软件工程的理解