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