ubuntu下hbase故障排查
导读:Ubuntu下HBase故障排查手册 一 快速定位流程 检查进程与端口 使用jps确认进程:应看到HMaster、HRegionServer(分布式)或仅HMaster(单机)。 排查端口:60000(Master RPC)、60010...
Ubuntu下HBase故障排查手册
一 快速定位流程
- 检查进程与端口
- 使用jps确认进程:应看到HMaster、HRegionServer(分布式)或仅HMaster(单机)。
- 排查端口:60000(Master RPC)、60010(Master Web UI)、2181(ZooKeeper,若内置或外部)、16010(新版本 Master UI)、16020/16030(RegionServer 新老端口)。示例:
ss -lntp | egrep '60000|60010|2181|16010'。
- 查看日志
- 日志目录通常为**$HBASE_HOME/logs/,实时查看:
tail -f $HBASE_HOME/logs/hbase-*.log。优先关注ERROR/Exception**、ZooKeeper 连接失败、HDFS 不可用、权限拒绝等关键字。
- 日志目录通常为**$HBASE_HOME/logs/,实时查看:
- 校验依赖服务
- 若使用 HDFS:执行
hdfs dfsadmin -report与hdfs dfs -ls /hbase确认NameNode/DataNode健康且 HBase 根目录可访问。 - 若使用 ZooKeeper:使用
echo stat | nc zk_host 2181或zkCli.sh检查会话与节点。
- 若使用 HDFS:执行
- 校验配置与连通
- 核对hbase-site.xml关键项:
hbase.rootdir、hbase.zookeeper.quorum、hbase.cluster.distributed。 - 使用
hostname -f与/etc/hosts确保主机名可解析,避免 DNS 超时。
- 核对hbase-site.xml关键项:
- 使用 HBase Shell 做健康检查
status 'detailed'查看集群与 Region 状态;必要时用hbase hbck检查一致性。
二 常见故障与修复
- 命令未找到 hbase
- 原因:未设置HBASE_HOME或PATH。
- 修复:在
~/.bashrc加入export HBASE_HOME=/usr/local/hbase与export PATH=$PATH:$HBASE_HOME/bin,执行source ~/.bashrc,再用hbase version验证。
- SLF4J 日志绑定冲突
- 现象:启动出现多个 SLF4J binding 警告,如同时出现slf4j-reload4j与log4j-slf4j-impl。
- 修复:保留其一,删除或重命名冲突 JAR。例:删除
$HADOOP_HOME/share/hadoop/common/lib/slf4j-reload4j-*.jar或重命名$HBASE_HOME/lib/client-facing-thirdparty/log4j-slf4j-impl-*.jar。
- 配置解析错误
- 现象:
ERROR [main] conf.Configuration: error parsing conf hbase-site.xml。 - 修复:检查XML 标签成对、属性闭合与特殊字符;使用绝对路径,避免相对路径与未闭合标签。
- 现象:
- 无法关闭或提示 no hbase master found
- 原因:/tmp下pid文件被系统清理导致找不到进程号。
- 修复:在
conf/hbase-env.sh设置export HBASE_PID_DIR=/usr/local/hbase/pids(路径需可写),重启后再尝试关闭。
- HMaster 启动但 Shell 报 ServerNotRunningYetException
- 常见根因:HDFS 未就绪、ZooKeeper 未就绪、端口冲突、权限不足或堆内存过小。
- 处理:确认 HDFS 与 ZK 健康;排查端口占用;检查
hbase.rootdir目录权限;适度增大HBASE_HEAPSIZE或HBASE_REGIONSERVER_OPTS;查看 Master/RS 日志定位具体异常。
- 启动卡住或 Region 无法上线
- 处理:查看 RS 日志与
status 'detailed';用hbase hbck修复分配与 WAL/孤儿问题;必要时手动分配:hbase hbck -fixAssignments;检查Region 分裂/合并是否在进行。
- 处理:查看 RS 日志与
三 配置与网络要点
- 主机名与解析
- 在
/etc/hosts确保FQDN与IP映射正确,避免回环与错误主机名导致 Region 分配/连接超时。
- 在
- 分布式关键配置示例(hbase-site.xml)
- 使用 HDFS:
hbase.rootdir=hdfs://< namenode> :8020/hbase - ZooKeeper:
hbase.zookeeper.quorum=< zk1> ,< zk2> ,< zk3>(或localhost单机) - 分布式开关:
hbase.cluster.distributed=true
- 使用 HDFS:
- 版本与兼容性
- 确保所有节点HBase 版本一致,并与Hadoop/ZooKeeper版本兼容;升级后需回归验证。
四 常用命令清单
- 进程与端口
jps、ss -lntp | egrep '60000|60010|2181|16010'
- HDFS 校验
hdfs dfsadmin -report、hdfs dfs -ls /hbase
- ZooKeeper 校验
echo stat | nc < zk_ip> 2181、zkCli.sh -server < zk_ip> :2181
- HBase 运维
- 启动/停止:
start-hbase.sh、stop-hbase.sh - Shell 与检查:
hbase shell、status 'detailed'、hbase hbck、hbase hbck -fixAssignments
- 启动/停止:
- 日志查看
tail -f $HBASE_HOME/logs/hbase-*.log
五 最小化自检清单
- 执行
hbase version确认 CLI 可用。 jps能看到HMaster(及HRegionServer)。ss -lntp确认60000/60010/2181/16010端口监听正常。hdfs dfs -ls /hbase能列出目录(使用 HDFS 时)。zkCli.sh stat显示 ZooKeeper 会话正常。tail $HBASE_HOME/logs/hbase-*.log无 ERROR/Exception。status 'detailed'显示集群与 Region 健康。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu下hbase故障排查
本文地址: https://pptw.com/jishu/764855.html
