当前位置: 首页 > 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.rkmt.cn/news/10515.html

相关文章:

  • 07-django+DRF项目中统一json返回格式 - 详解
  • 软工第二次作业——个人项目
  • AT_arc181_d [ARC181D] Prefix Bubble Sort
  • 【MySQL】使用C/C++链接mysql数据库 - 指南
  • day002
  • 【51单片机】【protues仿真】基于51单片机密码锁系统 - 详解
  • cv-css 快捷方式,将指定节点的计算样式获取下拉 获取tailwind网页样式成原生样式
  • # Shell 文本处理三剑客:awk、sed 与常用小器具详解
  • matter 协议解析;
  • nRF54LM20A GRTC
  • 2025年10款最佳生产力提效chrome插件推荐,亲测有用
  • 发表第一篇文章,谈谈对软件工程的理解
  • nRF54LM20A 芯片分析;
  • 第二天
  • Win10服务器远程连接断开后.bat脚本进程中断的全面解决高效的方案
  • 软件测试员的核心技能:一文掌握等价类划分与边界值分析
  • 9/23
  • NUMERICAL RESULT (2025/09/23)
  • 数组入门:从零基础到排序算法 - 教程
  • Optuna v4.5新特性深度解析:GPSampler实现约束多目标优化
  • 题解:P4769 [NOI2018] 冒泡排序
  • 详细介绍:内网后渗透攻击--域控制器安全(1)
  • 20250923
  • java面试笔试题大汇总 ~很全面收藏 - 详解
  • 0基础读CCFA(TPDS)论文—面向多 GPU 平台机器学习训练的通用性能建模
  • GO学习记录九——数据库触发器的运用+redis缓存策略
  • 用 Julia 提取轮廓和字符特征进行验证码识别
  • 深入解析:269-基于Python的58同城租房信息数据可视化系统
  • Windows环境下实现GitLab与Gitee仓库代码提交隔离 - 实践
  • 用 Julia 的频域滤波技术识别含干扰线的验证码