EMR主节点内存异常100%,hbase服务异常

简介: EMR主节点内存异常100%,hbase服务异常

问题描述


EMR主节点内存异常100%,导致hbase服务异常,数据无法读取



问题原因


阿里云安全中心有告警提示恶意操作,sh到header节点发现是中毒了有些常用命令被恶意替换,远程上去把相关的文件删除,对应IP加入黑名单,关闭zeppelin的外网端口后,发现header节点内存打满,hbase服务异常


解决方案


1、主节点异常100%.首先确认大概内存飙升的时间节点

2、经上述分析以及查看集群控制台对应服务,目前hbase组件显示异常,hbase shell命令失败。重启hbase无法拉起HRegionserver服务

3、top查看当前集群进程资源占用情况,重点关注内存,查看没有占用内存资源很大的进程。但是总体内存占用仍在95%以上

ps:单个进程占用不高,但整体能达到95%以上,是否说明可能有大量进程或者某服务同类型进程存在?



4、查找内存陡增原因暂缓,首要任务需要将Hbase服务恢复。查看Hbase gc日志,发现有大量Full gc,登录hbase shell执行命令报错链接不上hdfs 9000端口



5、根据错误查看hdfs服务是否正常,发现namenode控制台状态显示为down



6、从上面排查信息梳理可知:hbase依赖hdfs服务,而master节点主机内存占用高导致namenode宕掉。所以先通过ps -ef | grep pid定位具体进程详情,kill掉非核心进程来释放内存,例如用非核心的作业进程,gangliazeppelin等(具体kill的进程根据业务来定,优先kill无业务使用的进程)


7、释放内存过程中发现hbase shell进程较多(可能是人为,暂不确定)。都kill掉后内存降低到80%



8、重启namenode,namenode启动成功。namenode服务正常后重启hbase,各worker节点hregionserver服务被拉起。服务恢复正常


更多信息


主节点内存打满造成的hbase、namenode服务异常,kill掉不必要进程后恢复


适用于


  • E-MapReduce
相关实践学习
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
15天前
|
存储 Kubernetes 容器
【CKA模拟题】查找集群中使用内存最高的node节点
【CKA模拟题】查找集群中使用内存最高的node节点
16 1
|
Kubernetes 监控 Java
【JVM故障问题排查心得】「内存诊断系列」Docker容器经常被kill掉,k8s中该节点的pod也被驱赶,怎么分析?
【JVM故障问题排查心得】「内存诊断系列」Docker容器经常被kill掉,k8s中该节点的pod也被驱赶,怎么分析?
652 0
【JVM故障问题排查心得】「内存诊断系列」Docker容器经常被kill掉,k8s中该节点的pod也被驱赶,怎么分析?
|
5月前
|
Kubernetes Java API
|
3月前
|
C++
C++多线程场景中的变量提前释放导致栈内存异常
C++多线程场景中的变量提前释放导致栈内存异常
24 0
|
3月前
|
存储 监控 NoSQL
【Redis深度专题】「核心技术提升」从源码角度探究Redis服务的内存使用、清理以及逐出等底层实现原理
Redis作为一种高性能的内存NoSQL数据库,其容量受限于最大内存的限制。用户在使用阿里云Redis时,除了对性能和稳定性有较高的要求外,对内存占用也非常敏感。然而,在实际使用中,一些用户可能会发现他们的线上实例的内存占用比预期的要大。
61 1
【Redis深度专题】「核心技术提升」从源码角度探究Redis服务的内存使用、清理以及逐出等底层实现原理
|
3月前
|
存储 算法 Java
JVM-01Java内存区域与内存溢出异常(上)【运行时区域数据】
JVM-01Java内存区域与内存溢出异常(上)【运行时区域数据】
36 0
|
4月前
|
SQL 分布式计算 DataWorks
DataWorks on emr 创建spark节点指定dlf的catalog?
DataWorks on emr 创建spark节点指定dlf的catalog?
33 0
|
4月前
|
计算机视觉 C++
win7系统OpenCV读取图片内存位置异常
win7系统OpenCV读取图片内存位置异常
30 0
|
4月前
|
监控 应用服务中间件
如下请问EDAS的这个问题怎么解决? 应用id:2b0e6935-47fb-40ec-a11d-7dac320aecc1 集群中的节点内存是足够的,部署跑不起来 可以帮忙看看吗,以前集群下应用发布都是正常的,最近集群下应用部署基本都报错跑不起来,提示节点不可用
如下请问EDAS的这个问题怎么解决? 应用id:2b0e6935-47fb-40ec-a11d-7dac320aecc1 集群中的节点内存是足够的,部署跑不起来 可以帮忙看看吗,以前集群下应用发布都是正常的,最近集群下应用部署基本都报错跑不起来,提示节点不可用
59 2
|
9月前
|
存储 Prometheus Cloud Native
FinOPS之 节点内存态统计和计算Node-metrics
董江,容器技术布道者及实践者,中国移动高级系统架构专家,曾担任华为云核心网技术专家,CloudNative社区核心成员,KubeServiceStack社区发起者,Prometheus社区PMC,Knative Committer,Grafana社区Contributer。 欢迎关注:https://kubeservice.cn/
FinOPS之 节点内存态统计和计算Node-metrics