hdfs进程被杀死,按说jps访问无服务器,页面应该服务访问,但是页面显示正常,而且本地也可以调用 hdfs服务进行读写操作。唯一的不同就是jps查看不到任何服务。
另外一种情况就是,页面无法访问,本地也无法调用!
这里涉及到了 oom-killer
在内核检测到系统内存不足后,会触发oom-killer,挑选最占用内存的进程杀掉。
解决办法:将不需要杀死的进程从 oom-killer中排出
第一种:
1.查看内核:
uname -a
我电脑的:
Linux VM_0_8_centos 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
linux内核版本<3.5,那么swapiness设置为0,这样系统宁愿swap也不会oom killer(杀掉进程)
echo 0 > /proc/sys/vm/swappiness
如果linux内核版本>=3.5,那么swapiness设置为1,这样系统宁愿swap也不会oom killer
echo vm.swapiness=0 >> /etc/sysctl.conf
第二种,排除具体某个进程因为内存不够被杀死 PID/Program name
echo -17 > /proc/$(pidof java)/oom_adj
echo -17 > /proc/$(pidof mysqld)/oom_adj
echo "vm.panic_on_oom = 1" >> /etc/sysctl.conf;
sysctl -p sync;
echo 3 > /proc/sys/vm/drop_caches
但是这样操作,当内存不足时,云服务会进行自动重启!