最近,线上的CDH5集群增加了一批新的datanode,但是其中有一些datanode的负载明显比其它的要高。
通过Ganglia上的图形报告查看,发现这些datanode的CPU %ni很高,进一步查看进程,发现不少的hdfs与yarn进程运行在高优先级(<0 可通过 ps -lp pid 查看)上,这样会夺取一部分重要系统进程的资源,导致一些问题。
于是,我们通过在线调整的方式,将所有hdfs与yarn用户的进程优先级都设置为了0,将问题解决了。
具体步骤如下:
vim /etc/security/limits.d/hdfs.conf
新增如下配置:
hdfs hard priority 20 hdfs hard nice 0
vim /etc/security/limits.d/yarn.conf
新增如下配置:
yarn hard priority 20 yarn hard nice 0
vim /etc/security/limits.d/mapred.conf
新增如下配置:
mapred hard priority 20 mapred hard nice 0
执行命令,在线调整hdfs,yarn与mapred用户的进程nice优先级:
renice 0 -u hdfs yarn mapred
ulimit -Hr 20 hdfs
ulimit -Hr 20 yarn
ulimit -Hr 20 mapred
ulimit -He 0 hdfs
ulimit -He 0 yarn
ulimit -He 0 mapred
#1 by 王锋 on 2015/03/28 - 23:56
有查过原因么?yarn的作业的进程优先级nice值 你们通过修改源码变动了没还是如何?hdfs进程为啥也会有区别
#2 by jerry on 2015/04/08 - 17:12
这个就是基本的linux进程优先级的调整而已,和源码有个毛关系啊,哥哥