hbase 队列满导致问题解决

自从升级到了beh8.0后,3台实体机,机器配置128G*3, hbase经常性出现队列堆积;

出现队列堆积后,hbase服务基本处于拒绝服务的状态,产品对应监控服务停摆。

修复方式,首先关闭监控指标采集服务,避免造成更严重的后果。

此时按理来说应该等待服务消化堆积的队列数据,但是据几次观察,发现服务队列堆积没有缓解,判断是服务已经停止服务,最起码是regionserver停止了服务。

此时采用了相对暴力的手段,也算是对hbase服务自身纠正体系的信任,使用命令关闭regionserver,

正常来说,该regionserver在关闭前应该把region移到其他可用regionserver上。

 

但本来就是异常现象,错误也就出现了;关闭regionserver后,其上大部分region处于下线状态,此时master尝试修正该问题,发现问题后,我又再次启动该RS,显示修正中,此时晚上9点,下班回家,准备次日迎接修复好的hbase。

结果往往是悲剧的,第二天发现master已经关闭,而且没有切换另一台master为主节点,此问题后续再查,查看master日志发现,zk这块也有点问题。

2019-06-27 09:29:45,871 DEBUG [master/bdc001:16000] zookeeper.ZKUtil: master:16000-0x20030cfa6c5091a, quorum=bdc002.bonc.dev:2181,bdc003.bonc.dev:2181,bdc001.bonc.dev:2181, baseZNode=/hbase Unable to get data of znode /hbase/master because node does not exist (not an error)
2019-06-27 09:29:45,871 WARN  [master/bdc001:16000] master.ActiveMasterManager: Failed get of master address: java.io.IOException: Can't get master address from ZooKeeper; znode data == null
2019-06-27 09:29:45,871 INFO  [master/bdc001:16000] assignment.AssignmentManager: Stopping assignment manager
2019-06-27 09:29:45,944 DEBUG [master/bdc001:16000] wal.WALProcedureStore: After closing hdfs://beh001/hbase/MasterProcWALs/pv2-00000000000000000546.log, length=3609
2019-06-27 09:29:45,944 INFO  [master/bdc001:16000] hbase.ChoreService: Chore service for: master/bdc001:16000.splitLogManager. had [[ScheduledChore: Name: SplitLogManager Timeout Monitor Period: 1000 Unit: MILLISECONDS]] on shutdown
2019-06-27 09:29:45,945 INFO  [master/bdc001:16000] flush.MasterFlushTableProcedureManager: stop: server shutting down.
2019-06-27 09:29:45,946 INFO  [master/bdc001:16000] ipc.NettyRpcServer: Stopping server on /172.16.13.31:16000
2019-06-27 09:29:45,946 INFO  [master/bdc001:16000] token.AuthenticationTokenSecretManager: Stopping leader election, because: SecretManager stopping
2019-06-27 09:29:45,946 DEBUG [ZKSecretWatcher-leaderElector] zookeeper.ZKLeaderManager: Interrupted waiting on leader
java.lang.InterruptedException
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:502)
        at org.apache.hadoop.hbase.zookeeper.ZKLeaderManager.waitToBecomeLeader(ZKLeaderManager.java:143)
        at org.apache.hadoop.hbase.security.token.AuthenticationTokenSecretManager$LeaderElector.run(AuthenticationTokenSecretManager.java:336)
2019-06-27 09:29:46,043 INFO  [master/bdc001:16000] regionserver.HRegionServer: Exiting; stopping=bdc001.bonc.dev,16000,1561598648923; zookeeper connection closed.
2019-06-27 09:29:46,043 INFO  [main-EventThread] zookeeper.ClientCnxn: EventThread shut down

 

期间重启RS,发现每次重启都会多一个Dead RS在死亡列表中,只有时间戳不一样,这个正常,每次RS重启,ServerName时间戳会变,但不会出现Live和Dead同时存在的问题,怀疑是Master部分服务停止,数据无法同步导致。

后续整个hbase重启,莫名正常。

执行balancer均衡region。

 

一句话总结本次问题处理:windows大法好,出了问题重启之。。

今日再次用重启大法解决该问题一次,偶然发现SYSTEM.LOG表以前没见过,

分了32个region,但是没有数据,不确实是否有关系,

todo 待确认

 

下面为某位大神遇到同类问题的解决记录。

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值