以下是CentOS下HBase故障排查的核心技巧,涵盖日志分析、配置验证、服务状态检查等关键环节:
查看日志文件
/var/log/hbase/(如hbase-hmaster-*.log、hbase-regionserver-*.log)。tail -f实时查看日志,搜索ERROR、WARN等关键字,定位异常原因(如端口冲突、ZooKeeper连接失败等)。检查HBase进程
jps命令查看HMaster、RegionServer等核心进程是否运行。./start-hbase.sh,并检查启动脚本输出。验证配置文件
hbase-site.xml中需确认hbase.rootdir(HDFS路径)、hbase.zookeeper.quorum(ZooKeeper地址)等参数正确。JAVA_HOME、HBASE_HOME是否配置正确。ZooKeeper状态
zkCli.sh连接ZooKeeper,执行ls /hbase确认节点存在。HDFS健康状态
hdfs dfsadmin -report查看HDFS节点状态,确保NameNode和DataNode正常。hdfs dfs -ls /hbase,确保属主为hbase:hadoop。资源监控
top、free -m查看CPU、内存使用情况,避免内存不足导致服务崩溃。df -h检查磁盘空间,确保HDFS和本地日志目录有足够空间。网络连接验证
ping和telnet测试节点间网络连通性,确保端口(如HMaster的16010、RegionServer的16020)开放。使用HBase自带工具
hbase hbck:检查并修复数据不一致问题。hbase shell:执行status 'detailed'查看集群状态,balance_switch 'on'开启负载均衡。性能瓶颈分析
hbase.regionserver.global.memstore.size调整MemStore大小,或优化RowKey设计避免热点。hdfs dfs -du -h /hbase分析HDFS存储占用,清理冗余数据。netstat -tuln定位占用端口的进程,修改hbase-site.xml中端口配置。Permission denied,使用hdfs dfs -chown -R hbase:hadoop /hbase修复目录权限。hadoop dfsadmin -safemode leave退出。通过以上步骤,可系统性定位并解决CentOS下HBase的常见故障,确保集群稳定运行。