排查生产环境HBase RegionServer节点无法启动问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了排查生产环境HBase RegionServer节点无法启动问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1481字,纯文字阅读大概需要3分钟。
内容图文
一.准备环境
CDH-5.12 (HBase1.2)
Phoenix 4.10
Spark 2.1.1
二.实时数据同步架构(DSHS JOB)
MySQL-->Maxwell-->Kafka-->Spark?Streaming+Phoenix-->HBase
三.异常现象
RegionServer节点挂了,发送微信警告信息,登录Cloudera Manager查看发现有6个节点挂了。那么第一步应该就是尝试重启这6个RegionServer节点,发现只恢复5个节点;但是还有1个RegionServer节点(hadoop50机器)无法启动,这时查看RegionServer日志:
tail?-200f?/var/log/hbase/xxxxx.log
异常就是,60020端口被占用,无法启动RS进程。
四.排查分析
a. 查看端口是否被进程占用, 是假死进程
netstat?-nlp|grep?60020
执行此命令发现没有进程!那就等待一会再执行看看,依然是没有进程。假如有进程直接kill -9 pid即可。
b.群里咨询HBase小伙伴们,大家各抒己见
有人说是时间不同步,之前遇见过50010端口这种问题;
.........
c.使用lsof -i:60020命令查看
发现进程:
都是yarn用户的进程;
hadoop50的端口号对接其他机器的60020端口,郁闷一阵子;
但是ps -ef|grep hbase确实没有RegionServer进程在Running。
五.解决方案
通过分析发现是yarn用户进程,那么ps查看发现是Container容器的Job;
这时应该知道是实时同步的DSHS JOB(Spark Streaming通过Phoenix向HBase写数据)引起的,导致hadoop50机器的RegionServer无法启动,报60020端口占用错误;
手动kill job,由于是Spark Streaming Job是设定参数
spark.streaming.stopGracefullyOnShutdown 能够优雅关闭Job;加上offset是自我维护,所以能够保障断批还原,数据0丢失;
启动hadoop50机器的RegionServer服务,发现立即启动成功;
启动DSHS JOB恢复实时同步Job。
备注: 至于为什么RegionServer挂了,这里就不多叙述,其实就是Compaction问题。
以上是本人解决问题的思路,如有不当欢迎留言交流。
内容总结
以上是互联网集市为您收集整理的排查生产环境HBase RegionServer节点无法启动问题全部内容,希望文章能够帮你解决排查生产环境HBase RegionServer节点无法启动问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。