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
相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库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
相关文章
|
7月前
|
存储 Kubernetes 容器
【CKA模拟题】查找集群中使用内存最高的node节点
【CKA模拟题】查找集群中使用内存最高的node节点
63 1
|
Kubernetes 监控 Java
【JVM故障问题排查心得】「内存诊断系列」Docker容器经常被kill掉,k8s中该节点的pod也被驱赶,怎么分析?
【JVM故障问题排查心得】「内存诊断系列」Docker容器经常被kill掉,k8s中该节点的pod也被驱赶,怎么分析?
801 0
【JVM故障问题排查心得】「内存诊断系列」Docker容器经常被kill掉,k8s中该节点的pod也被驱赶,怎么分析?
|
4月前
|
SQL 测试技术 流计算
EMR Remote Shuffle Service实践问题之Leader节点变化导致的中断如何解决
EMR Remote Shuffle Service实践问题之Leader节点变化导致的中断如何解决
|
3月前
|
Prometheus Kubernetes 监控
使用kubectl快速查看各个节点的CPU和内存占用量
在Kubernetes集群中,安装metrics-server,并使用kubectl快速查看集群中各个节点的资源使用情况。
184 0
|
4月前
|
安全 异构计算
为大型语言模型 (LLM) 提供服务需要多少 GPU 内存?
为大型语言模型 (LLM) 提供服务需要多少 GPU 内存?
159 0
为大型语言模型 (LLM) 提供服务需要多少 GPU 内存?
|
4月前
|
Oracle 关系型数据库
分布式锁设计问题之Oracle RAC保证多个节点写入内存Page的一致性如何解决
分布式锁设计问题之Oracle RAC保证多个节点写入内存Page的一致性如何解决
|
6月前
|
分布式计算 DataWorks 调度
DataWorks产品使用合集之如何在DataWorks on EMR上创建Spark节点并指定DLF的catalog
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
64 8
|
5月前
|
存储 安全 Java
Java面试题:假设你正在开发一个Java后端服务,该服务需要处理高并发的用户请求,并且对内存使用效率有严格的要求,在多线程环境下,如何确保共享资源的线程安全?
Java面试题:假设你正在开发一个Java后端服务,该服务需要处理高并发的用户请求,并且对内存使用效率有严格的要求,在多线程环境下,如何确保共享资源的线程安全?
71 0
高并发服务优化篇:详解一次由读写锁引起的内存泄漏
JVM相关的异常,一直是一线研发比较头疼的问题。因为对于业务代码,JVM的运行基本算是黑盒,当异常发生时,较难直观地看到和找到问题所在,这也是我们一直要研究其内部逻辑的原因。
|
7月前
|
安全 网络安全 Android开发
云端防御策略:融合云服务与网络安全的未来构建高效的Android应用:从内存优化到电池寿命
【4月更文挑战第30天】 随着企业加速向云计算环境转移,数据和服务的云端托管成为常态。本文探讨了在动态且复杂的云服务场景下,如何构建和实施有效的网络安全措施来保障信息资产的安全。我们将分析云计算中存在的安全挑战,并展示通过多层次、多维度的安全框架来提升整体防护能力的方法。重点关注包括数据加密、身份认证、访问控制以及威胁检测与响应等关键技术的实践应用,旨在为读者提供一种结合最新技术进展的网络安全策略视角。 【4月更文挑战第30天】 在竞争激烈的移动市场中,Android应用的性能和资源管理已成为区分优秀与平庸的关键因素。本文深入探讨了提升Android应用效率的多个方面,包括内存优化策略、电池