CDH5 Fair scheduler 配置

破棉襖發表於2015-04-21


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:

                                                                                                                                              

                這個問題怎麼解決?那就需要將hadoop2.2.0的原始碼打patch,重新編譯。

   2、根據官網的配置解析,有一個配置項可以控制佇列提交作業許可權:aclSubmitApps。我們配置以後發現,使用者許可權可以使用 hadoop queue -showacls檢視,但是正在提交作業的時候,仍然可以提交到沒有提交許可權的佇列。

                 透過檢視原始碼,發現還有一個配置需要進行配置:aclAdministerApps,這個許可權是要大於aclSubmitApps,預設都可以,所以,只配置aclSubmitApps提交作業控制,是不起作用的。




來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29754888/viewspace-1589873/,如需轉載,請註明出處,否則將追究法律責任。

相關文章