hadoop集群系统优化

1. Ulimit 配置

操作系统默认只能打开 1024 个文件,打开的文件超过这个数发现程序会有“too many open files”的
错误,1024 对于大数据系统来说显然是不够的,如果不设置,基本上整个大数据系统是“不可用的”,根
本不能用于生产环境。

配置方法如下:

echo "* soft nofile 128000" >> /etc/security/limits.conf
echo "* hard nofile 128000" >> /etc/security/limits.conf
echo "* soft nproc 128000" >> /etc/security/limits.conf
echo "* hard nproc 128000" >> /etc/security/limits.conf
cat /etc/security/limits.conf
sed -i 's/1024/unlimited/' /etc/security/limits.d/90-nproc.conf
cat /etc/security/limits.d/90-nproc.conf
ulimit -SHn 128000
ulimit -SHu 128000
2. Swap  问题

在 10~20 年前一台服务器的内存非常有限,64m~128m,所以通过 swap可以将磁盘的一部分空间用于
内存。但是现今我们的服务器内存普遍达到了 64G以上,内存已经不再那么稀缺,但是内存的读取速度与
磁盘的读取相差倍数太大,如果我们某段程序使用的内存映射到了磁盘上,将会对程序的性能照成非常严
重的影响,甚至导致整个服务的瘫痪。所以 一定要禁止使用 Swap.

禁用方法如下,让操作系统尽量不使用 Swap:

echo "vm.swappiness=1" >> /etc/sysctl.conf
sysctl -p
sysctl -a|grep swappiness

3.  网络配置优化

echo " net.core.somaxconn = 32768 " >> /etc/sysctl.conf
sysctl -p
sysctl -a|grep somaxconn

4.setenforce 与 与 Umask  配置

setenforce 0代表关闭Selinux
setenforce 0
sed -i 's/enabled=1/enabled=0/' /etc/yum/pluginconf.d/refresh-packagekit.conf
cat /etc/yum/pluginconf.d/refresh-packagekit.conf
Umask代表设置创建文件的默认权限,用777减去umask就是文件的权限比如022就是755
umask 0022
echo umask 0022 >> /etc/profile

5.检查/proc/sys/vm/overcommit_memory的配置值

如果为 2,建议修改为 0,否则有可能会出现,明明机器可用物理内存很多,但 JVM 确申请不了内存
的情况。

猜你喜欢

转载自blog.csdn.net/u014516601/article/details/81433922