根据网上提供的方法,在core-site.xml我添加了如下配置但是好像不管用
<property>
<name>hadoop.proxyuser.oozie.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.oozie.hosts</name>
<value>*</value>
</property>
然后我从CDH资源配置源头修改,根据自己的服务器的配置对yarn资源进行优化
DRF和相关参数
DRF: Dominant Resource Fairness,根据CPU和内存公平调度资源。CDH动态资源池默认采用的DRF计划策略。简单的理解就是内存不够的时候,多余的CPU就不会分配任务了,就让他空着;CPU不够的时候,多出来的内存也不会再启动任务了。
理解这个计划策略后,再查看Yarn启动任务时资源相关的参数,发现有以下几个参数可能会产生影响:
- mapreduce.map.memory.mb ,map任务内存,cdh默认1G
- mapreduce.map.cpu.vcores ,map任务虚拟CPU核数,cdh默认1
- mapreduce.reduce.memory.mb ,reduce任务内存,cdh默认1G
- mapreduce.reduce.cpu.vcores ,reduce任务虚拟CPU核数,cdh默认1
- yarn.nodemanager.resource.memory-mb ,容器内存,cdh默认8G
- yarn.nodemanager.resource.cpu-vcores ,容器虚拟CPU核数,cdh默认8,但CM会自动检测内核数并修改,我这里被自动改成了24。
可以看到默认配置下,CPU核数和内存是1:1G的比例来启动任务的。
这里要根据自己服务器的配置进行修改
参考https://www.tuicool.com/articles/ERbMruN