ITPub博客

首页 > 大数据 > Hadoop > CDH5 Fair scheduler 配置

CDH5 Fair scheduler 配置

原创 Hadoop 作者:破棉袄 时间:2015-04-21 18:51:20 0 删除 编辑


CDH5中配置调度器只要在CM管理界面中配置即可


1、进入yarn的配置选项,选中ResourceManager Default Group标签

2、找到 容量调度程序配置 选项 输入xml:

点击(此处)折叠或打开

  1. <?xml version="1.0"?>
  2. <configuration>
  3. <property>
  4.         <name>yarn.scheduler.fair.user-as-default-queue</name>
  5.         <value>false</value>
  6. </property>
  7. <property>
  8.         <name>yarn.scheduler.fair.preemption</name>
  9.         <value>false</value>
  10. </property>
  11. <property>
  12.         <name>yarn.scheduler.fair.sizebasedweight</name>
  13.         <value>true</value>
  14. </property>

  15. <property>
  16.         <name>yarn.scheduler.fair.assignmultiple</name>
  17.         <value>true</value>
  18. </property>
  19. <property>
  20.         <name>yarn.scheduler.fair.max.assign</name>
  21.         <value>-1</value>
  22. </property>
  23. <property> <name>yarn.scheduler.fair.locality.threshold.node</name>
  24.         <value>0.1</value>
  25. </property>
  26. <property> <name>yarn.scheduler.fair.locality.threshold.rack</name>
  27.         <value>0.1</value>
  28. </property>
  29. </configuration>

3、找到 Fair Scheduler XML 高级配置代码段(安全阀)标签 输入xml:

点击(此处)折叠或打开

  1. <?xml version="1.0"?>
  2. <allocations>
  3.   <queue name="root">
  4.     <minResources>500 mb,500 vcores</minResources>
  5.     <maxResources>2048 mb,2048 vcores</maxResources>
  6.     <maxRunningApps>10</maxRunningApps>
  7.     <minSharePreemptionTimeout>300</minSharePreemptionTimeout>
  8.     <weight>1.0</weight>
  9.     <aclSubmitApps> </aclSubmitApps>
  10.     <aclAdministerApps> </aclAdministerApps>
  11.     <queue name="hive-queue">
  12.        <minResources>400 mb, 400 vcores</minResources>
  13.        <maxResources>1024 mb, 1024 vcores</maxResources>
  14.      <aclAdministerApps>root,admin,hive</aclAdministerApps>
  15.        <aclSubmitApps>root,admin,hive</aclSubmitApps>
  16.     </queue>
  17.     <queue name="hbase-queue">
  18.       <minResources>200 mb,200 vcores</minResources>
  19.       <maxResources>500 mb,500 vcores</maxResources>
  20.      <aclAdministerApps>root,admin,hbase</aclAdministerApps>
  21.       <aclSubmitApps>root,admin,hbase</aclSubmitApps>
  22.     </queue>
  23.   </queue>
  24.   <user name="hadoop">
  25.     <maxRunningApps>100</maxRunningApps>
  26.   </user>
  27.   <userMaxAppsDefault>40</userMaxAppsDefault>
  28.   <fairSharePreemptionTimeout>6000</fairSharePreemptionTimeout>
  29. </allocations>
4、重启yarn 访问nomenode:8088/cluster/scheduler 可见配置成功。

注意:

  1、子队列的权限可以继承父队列,即使子队列设置自己的权限控制,还是会与父队列的权限取并集。而root队列是所有队列的父队列,他的权限是所有用户都可以提交作业、管理作业。所以,子队列的权限设置是不起作用的。

                 那如何设置root队列的权限呢?对hadoop2.2.0版本来说,这是个bug:https://issues.apache.org/jira/browse/YARN-1258

                                                                                                                                              https://issues.apache.org/jira/browse/YARN-1288

                这个问题怎么解决?那就需要将hadoop2.2.0的源码打patch,重新编译。

   2、根据官网的配置解析,有一个配置项可以控制队列提交作业权限:aclSubmitApps。我们配置以后发现,用户权限可以使用 hadoop queue -showacls查看,但是正在提交作业的时候,仍然可以提交到没有提交权限的队列。

                 通过查看源码,发现还有一个配置需要进行配置:aclAdministerApps,这个权限是要大于aclSubmitApps,默认都可以,所以,只配置aclSubmitApps提交作业控制,是不起作用的。




来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29754888/viewspace-1589873/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-07-16

  • 博文量
    180
  • 访问量
    1158149