cdh默认都是使用FairScheduler调度,cdp后改为Capacity Scheduler。Capacity Scheduler支持标签调度,可以将不同类型任务调度到不同物理服务器上,进行隔离。
1.登录cm管理控制台,选择CapacityScheduler
2. 在“容量调度程序配置高级配置代码段(安全阀)”配置队列
xml配置如下:
yarn.scheduler.capacity.root.queuesdefault,hadoop,devyarn.scheduler.capacity.root.capacity100yarn.scheduler.capacity.root.default.capacity40yarn.scheduler.capacity.root.default.accessible-node-labelsMRyarn.scheduler.capacity.root.dev.capacity30yarn.scheduler.capacity.root.hadoop.accessible-node-labelsGPUyarn.scheduler.capacity.root.default.acl_submit_applications*yarn.scheduler.capacity.root.default.acl_administer_queue*yarn.scheduler.capacity.root.default.maximum-capacity80yarn.scheduler.capacity.root.dev.maximum-capacity60yarn.scheduler.capacity.root.dev.queuesabc,testyarn.scheduler.capacity.queue-mappings-override.enablefalseyarn.scheduler.capacity.root.dev.acl_submit_applications*yarn.scheduler.capacity.root.dev.acl_administer_queue*yarn.scheduler.capacity.root.dev.test.capacity50yarn.scheduler.capacity.root.dev.abc.capacity50yarn.scheduler.capacity.root.hadoop.capacity30yarn.scheduler.capacity.queue-mappingsu:hive:hadoop,u:%user:defaultyarn.scheduler.capacity.root.hadoop.accessible-node-labels.GPU.capacity100yarn.scheduler.capacity.root.default.accessible-node-labels.MR.capacity50yarn.scheduler.capacity.root.dev.accessible-node-labels.MR.capacity50yarn.scheduler.capacity.root.dev.abc.accessible-node-labels.MR.capacity50yarn.scheduler.capacity.root.dev.test.accessible-node-labels.MR.capacity50yarn.scheduler.capacity.root.dev.test.default-node-label-expression MRyarn.scheduler.capacity.root.dev.abc.default-node-label-expression MRyarn.scheduler.capacity.root.dev.default-node-label-expression MRyarn.scheduler.capacity.root.default.default-node-label-expression MRyarn.scheduler.capacity.root.hadoop.default-node-label-expression GPUyarn.scheduler.capacity.root.dev.accessible-node-labelsMRyarn.scheduler.capacity.root.accessible-node-labels.GPU.capacity100yarn.scheduler.capacity.root.accessible-node-labels.MR.capacity100yarn.scheduler.capacity.root.accessible-node-labels*
3.重启集群
注意事项:
1.cdh默认使用fair做资源调度,队列名会加上root. 导致使用scheduler队列不匹配,也需创建root.name式的队列命名。这样可以解决大不太友好,实际解决hiveserver2 高级配置:
hive.server2.map.fair.scheduler.queue=false
2. 默认fair调度会有配置文件生成,里面有队列配置,影响Capacity队列,清空重启即可。