集群添加节点失败

在尝试向集群添加新机器时,由于未进行参数调优,导致新节点出现故障。错误表现为nodemanager报错,最初误认为是内存溢出问题。实际是线程数量超出限制。解决方案包括修改/etc/security/limits.conf、.bash_profile和/etc/security/limits.d/90-nproc.conf文件中的参数,最终成功解决问题,强调了熟悉Linux系统参数对于Hadoop集群运维的重要性。

最近望集群添加新机器,但是比较鲁莽,新机器没有进行参数调优,结果使得新添加的节点都挂掉了,辛亏及时回滚,不然影响了线上的一些数据处理任务。现在总结下当时发生的问题,以及最终的解决办法。

问题:

新加入的节点的nodemanager报出如下错误:

java.lang.OutOfMemoryError : unable to create new native Thread

解决办法:

乍一看,以为是内存溢出,是内存的原因。其实是线程数量创建超过机器的限制,导致的问题,跟内存没有关系。

修改一:

之后修改/etc/security/limits.conf中的参数,将如下内容加入:

* soft nofile 100000
* hard nofile 100000
* soft nproc 100000
* hard nproc 100000

reboot机器,没有效果。

修改二:

将如下内容加入到home目录的.bash_profile文件中。

ulimit -u 100000 -s 10240

source .bash_profile后,使用ulimit -a查看是否生效,发现修改有效果,但是集群作业依旧跑挂。

修改三:

将如下内容添加到/etc/security/limits.d/90-nproc.conf文件中。

*          soft    nproc     65535

这次修改完后,终于正式生效。


经过这次集群节点添加,楼主哭死的心都有了,楼主自己对linux的各个系统参数了解甚少,导致查看hadoop的log后依旧不能有效解决问题,还是求助各路大神后才解决的。所以一个好的hadoop集群运维工程师,首先是一个好的运维工程师,必须得玩转linux。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值