cdh查看namenode的内存设置_记一次Linux主机内存脏数据引发的NameNode故障

本文介绍了Linux主机因内存脏数据导致NameNode服务无响应的故障现象,分析了问题原因——Linux默认的脏数据处理机制。通过调整`vm.dirty_ratio`参数降低脏数据比例和优化内存中脏数据的存活时间,从而避免系统卡顿。提供了临时和永久的解决方案,并引用相关资料供深入学习。
摘要由CSDN通过智能技术生成

全文共10789字,阅读约需3min。

如果你运维过一个大数据集群,你就能够明白内存对于集群主节点来说是一种稀缺资源,特别是集群越大,机器内存问题给集群带来的问题就越明显且越频繁。
在我管理的这么多大数据集群中,该问题现象就层出不穷。下面对其中一次现象进行了总结。

问题现象

1) 一台主机无缘无故死机;
2) 其上namenode服务无响应其发生准备切换。

问题排查思路是:

  1. 接收到主机网络不通告警;

  2. 接收到其上namenode服务STOP告警;

  3. 查看备节点是否成功切换为主节点;

  4. 查看zkfc日志确定failover原因;

  5. 重启(如果需要)故障主机,备份日志,启动nn服务,查看主机日志确认主机故障原因。

其实正确的处理问题路径是:重启主机->启动nn->查看日志定位原因。这里不对问题处理思路作深究,仅重点阐述本案中主机死机的原因。

主机死机,一般是要查看/var/log/message日志,发现提示

echo 0> /proc/sys/kernel/hung_task_timeout_secs

完整的日志如下:

Mar 28 03:12:47 namenode01 collectd[1731]: write_graphite plugin: send to epc-graphite-server:2003 (tcp) failed with status 110 (Connection timed out)
Mar 28 03:12:47 namenode01 collectd[1731]: Filter subsystem: Built-in target `write': Dispatching value to all write plugins failed with status -1.
Mar 28 03:12:47 namenode01 collectd[1731]: Filter subsystem: Built-in target `write': Some write plugin is back to normal operation. `write' succeeded.
Mar 28 03:14:31 namenode01 kernel: INFO: task kworker/15:2:22246 blocked for more than 120 seconds.
Mar 28 03:14:31 namenode01 kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Mar 28 03:14:31 namenode01 kernel: kworker/15:2    D ffff88208618bdd8     0 22246      2 0x00000080
Mar 28 03:14:31 namenode01 kernel: ffff88208618bbf0 0000000000000046 ffff8828e3130000 ffff88208618bfd8
Mar 28 03:14:31 namenode01 kernel: ffff88208618bfd8 ffff88208618bfd8 ffff8828e3130000 ffff88208618bd60
Mar 28 03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值