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
相关文章
|
3月前
|
SQL 测试技术 流计算
EMR Remote Shuffle Service实践问题之Leader节点变化导致的中断如何解决
EMR Remote Shuffle Service实践问题之Leader节点变化导致的中断如何解决
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
69 4
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
57 3
|
6月前
|
存储 缓存 算法
深入浅出JVM(二)之运行时数据区和内存溢出异常
深入浅出JVM(二)之运行时数据区和内存溢出异常
|
3月前
|
安全 异构计算
为大型语言模型 (LLM) 提供服务需要多少 GPU 内存?
为大型语言模型 (LLM) 提供服务需要多少 GPU 内存?
140 0
为大型语言模型 (LLM) 提供服务需要多少 GPU 内存?
|
2月前
|
Java C++
Java内存区域于内存溢出异常
这篇文章详细解释了Java虚拟机的内存区域划分、各区域的作用以及可能遇到的内存溢出异常情况。
47 0
|
3月前
|
存储 Java 编译器
Java内存区域与内存溢出异常 - 运行时数据区
【8月更文挑战第2天】Java运行时数据区包括:1) 程序计数器:记录线程执行字节码的行号,线程私有;2) Java虚拟机栈:描述方法执行的内存模型,线程私有,深度过大抛出`StackOverflowError`;3) 本地方法栈:服务于Native方法,线程私有;4) Java堆:所有线程共享,对象实例在此分配内存;5) 方法区:存储类信息、常量等数据;6) 运行时常量池:方法区的一部分,存放字面量和符号引用。不当使用如无限创建对象或过度递归调用会导致各种内存溢出错误。
|
4月前
|
Arthas 存储 监控
JVM内存问题之JNI内存泄漏没有关联的异常类型吗
JVM内存问题之JNI内存泄漏没有关联的异常类型吗
|
4月前
|
缓存 算法 Java
JVM内存溢出(OutOfMemory)异常排查与解决方法
JVM内存溢出(OutOfMemory)异常排查与解决方法
|
5月前
|
分布式计算 DataWorks 调度
DataWorks产品使用合集之如何在DataWorks on EMR上创建Spark节点并指定DLF的catalog
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
60 8