spark java.lang.OutOfMemoryError: unable to create new native thread

时间:2022-01-25 05:37:04

最近迁移集群,在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 # 此为所有用户可以打开的最大进程数,软限制,可超过