最近迁移集群,在hadoop-2.8.4 的yarn上跑 spark 程序
报了以下错误
java.lang.OutOfMemoryError: unable to create new native thread
开始以为yarn 资源争抢问题,后来发现是系统限制用户进程数问题。
# 使用命令查看当前用户最大进程数
ulimit -u
# centos7 在这里修改 ullimit -u 的值
sudo vi /etc/security/limits.d/20-nproc.conf
* soft nproc 262144
root soft nproc unlimited
# 修改全局变量
sudo vi /etc/security/limits.conf
root hard nofile 655350
root soft nofile 655350
root hard nproc 262144
root soft nproc 262144
* hard nofile 655350 # 可打开最大文件数,硬限制
* soft nofile 655350
* hard nproc 262144 # 此为所有用户可以打开的最大进程数,硬限制
* soft nproc 262144 # 此为所有用户可以打开的最大进程数,软限制,可超过