MAPREDUCE服务 MRS-NameNode节点存在ALM-12027主机PID使用率超过阈值告警:原因分析
原因分析
- 使用以下命令统计节点进程的线程数并排序。
ps -efT | awk '{print $2}' |sort -n |uniq -c |sort -n
执行后结果如下:
- 查看启动线程数最多的进程,案例中进程2346为NameNode进程,启动了5.4万线程,且持续增长。
- 多次打印对应进程的jstack日志,根据jstack日志信息发现,NameNode存在大量线程处于WAITING,且长期不释放。
结合以上问题分析如下:NameNode存在内置机制,根据WARN日志信息自动开启DEBUG日志,在环境中由于选择副本失败,导致一直启动Debug日志,不停地修改log4j,修改组件的log4j后进程会自动加载该配置文件,此时就会有新的线程自动产生,长时间后就会触发该告警。
出现这种情况时,将内置机制关闭,禁止自动修改日志级别即可恢复。