HBase中,HMaster启动后直接挂的问题

本文详细解析了HBase中HMaster启动后立即挂掉的问题,包括集群时间不同步及元数据错误两大原因,并提供了具体解决方案,如时间同步调整、元数据文件删除及重启HBase等步骤。

HBase中,HMaster启动后,直接挂掉了的问题。
我是先启动了dfs.sh,然后启动zookeeper,再启动HMaster,进入shell,用list查看默认存在哪些表,结果,提示:ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing,进入log中看日志,提示如下图所示:
log中提示 存放元数据不是为空
原因:
1、集群的时间不同步
2、由于之前集群时间不同的时候,就直接启动HMaster,导致初始化的时候生成了错误的元数据,所以 以后的每一次启动,都是读取之前错误的元数据,导致HMaster直接挂掉了。

解决方案:
a) 如果是集群时间不同步,那么将集群时间设置为同步即可,如果是元数据文件有问题,则按照步骤 b) 和 c) 操作即可。
b) 删掉/hbase/WALs/anry2,16020,1556009399960-splitting 下的元数据文件即可
删除命令:hdfs dfs -rm -f -R /hbase/WALs/*
c) 然后重启HBase即可

不正确的地方,请大神斧正!

### HBase HMaster进程启动后自动消失原因及解决方案 HBaseHMaster进程启动后自动消失的问题可能由多种原因引起,以下是详细的分析和解决方案: #### 1. **HDFS端口配置问题** 如果HDFS的默认端口号是8020,但在`core-site.xml`中修改了HDFS的端口(如改为9000),而未在`hbase-site.xml`中同步设置HDFS的端口,则可能导致HMaster无法正确连接到HDFS,从而引发进程关闭。需要确保`hbase-site.xml`中的HDFS配置与实际使用的端口一致[^4]。 ```xml <property> <name>fs.defaultFS</name> <value>hdfs://hadoop1:9000/</value> </property> ``` #### 2. **时间不一致问题** 系统时间不一致可能导致HMaster进程异常退出。可以通过以下两种方法解决: - 增加`hbase.master.maxclockskew`参数值以容忍更大的时钟偏差。 ```xml <property> <name>hbase.master.maxclockskew</name> <value>150000</value> </property> ``` - 修改系统时间并写入CMOS,确保集群节点时间一致。 ```bash date -s 11/23/2013 date -s 15:14:00 clock -r clock -w ``` #### 3. **Zookeeper冲突问题** 更换HBase版本后,ZooKeeper可能保留了旧版本的设置,导致冲突。可以使用以下步骤清除ZooKeeper中的旧数据[^5]。 ```bash # 进入ZooKeeper客户端 sh zkCli.sh # 查看根节点信息 ls / # 删除/hbase节点 rmr /hbase # 退出客户端 quit # 重启ZooKeeper服务 zkServer.sh stop zkServer.sh start ``` #### 4. **HBase与Hadoop版本兼容性问题** HBase与Hadoop版本不兼容也可能导致HMaster进程异常退出。建议检查HBase和Hadoop的版本是否匹配,并根据官方文档选择兼容版本[^5]。 #### 5. **防火墙或SSH免密登录问题** 防火墙未关闭或SSH免密登录未正确配置可能导致HMaster无法正常通信。需确保防火墙已关闭,并完成SSH免密登录设置[^3]。 #### 6. **HBASE_MANAGES_ZK配置问题** `hbase-env.sh`文件中的`HBASE_MANAGES_ZK`配置若为`false`,但未安装独立的ZooKeeper,则可能导致HMaster无法正常运行。需根据实际情况调整该配置项[^3]。 ```bash export HBASE_MANAGES_ZK=true ``` #### 7. **日志排查** 若以上方法均无效,可查看HBase的日志文件(位于HBase安装目录下的`logs`文件夹),定位具体的错误信息并采取针对性措施[^3]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值