Taiwan Hadoop Forum

台灣 Hadoop 技術討論區
現在的時間是 2018-08-18, 20:20

所有顯示的時間為 UTC + 8 小時




發表新文章 回覆主題  [ 5 篇文章 ] 
發表人 內容
 文章主題 : 請問一下Fair Scheduler的配置問題
文章發表於 : 2015-03-24, 12:00 
離線

註冊時間: 2015-03-18, 17:38
文章: 4
目前使用一個User(hdp0),五個pool(default,client1,client2,client3,client4)
User(hdp0)提交四個job都只在default pool,其他的四個pool都沒收到job,而且default pool使用全部群集的資源
那如何將各個job分送到各個pool,是需要下參數指定每個job到某個pool嗎?還是?

使用hadoop1.2.1版本,fair scheduler的配置如下:
mared-site.xml:
代碼:
<property>
<name>mapred.jobtracker.taskScheduler</name>
<value>org.apache.hadoop.mapred.FairScheduler</value>
</property>
<property>
<name>mapred.fairscheduler.allocation.file</name>
<value>/home/hdp0/hadoop-1.2.1/conf/fair-scheduler.xml</value>
</property>
<property>
<name>mapred.fairscheduler.preemption</name>
<value>true</value>
</property>
<property>
<name>mapred.fairscheduler.assignmultiple</name>
<value>true</value>
</property>
<property>
<name>mapred.fairscheduler.poolnameproperty</name>
<value>(default,low),(client1,high),(client2,high),(client3,low),(client4,low)</value>
description>job.set("mapred.queue.name",pool);//pool is set to either 'high' or 'low'</description>
   </property>
       <property>
      <name>mapred.fairscheduler.preemption.only.log</name>
      <value>true</value>
   </property>
   <property>
<name>mapred.fairscheduler.preemption.interval</name>
      <value>15000</value>
   </property>
   <property>
   <name>mapred.queue.names</name>
   <value>default,client1,client2,client3,client4</value>
   </property>
   <property>
      <name>mapred.acls.enabled</name>
      <value>true</value>
   </property>


fair-scheduler.xml:
代碼:
<allocations>
   <pool name="client1">
      <minMaps>6</minMaps>
      <minReduces>0</minReduces>
      <maxRunningJobs>3</maxRunningJobs>
      <weight>2.0</weight>
      <minSharePreemptionTimeout>30</minSharePreemptionTimeout>
   </pool>
   <pool name="client2">
      <minMaps>6</minMaps>
      <minReduces>0</minReduces>
      <maxRunningJobs>3</maxRunningJobs>
      <weight>2.0</weight>
      <minSharePreemptionTimeout>30</minSharePreemptionTimeout>
   </pool>
   <pool name="client3">
      <minMaps>2</minMaps>
      <minReduces>0</minReduces>
      <maxRunningJobs>2</maxRunningJobs>
      <weight>1.0</weight>
      <minSharePreemptionTimeout>30</minSharePreemptionTimeout>
   </pool>
   <pool name="client4">
      <minMaps>2</minMaps>
      <minReduces>0</minReduces>
      <maxRunningJobs>2</maxRunningJobs>
      <weight>1.0</weight>
      <minSharePreemptionTimeout>30</minSharePreemptionTimeout>
   </pool>

   <user name="hdp0">
      <maxRunningJobs>20</maxRunningJobs>
   </user>
   <poolMaxJobsDefault>20</poolMaxJobsDefault>
   <userMaxJobsDefault>20</userMaxJobsDefault>
   <defaultMinSharePreemptionTimeout>600</defaultMinSharePreemptionTimeout>
   <fairSharePreemptionTimeout>600</fairSharePreemptionTimeout>

</allocations>


mapred-queue-acls.xml:
代碼:
<property>
  <name>mapred.queue.default.acl-submit-job</name>
  <value> </value>
</property>

<property>
  <name>mapred.queue.default.acl-administer-jobs</name>
  <value> </value>
</property>
<property>
  <name>mapred.queue.client1.acl-submit-job</name>
  <value>hdp0</value>
</property>
<property>
  <name>mapred.queue.client2.acl-submit-job</name>
  <value>hdp0</value>
</property>
<property>
  <name>mapred.queue.client3.acl-submit-job</name>
  <value>hdp0</value>
</property>
<property>
  <name>mapred.queue.client4.acl-submit-job</name>
  <value>hdp0</value>
</property>
<property>
  <name>mapred.queue.client1.acl-administer-jobs</name>
  <value>hdp0</value>
</property>
<property>
  <name>mapred.queue.client2.acl-administer-jobs</name>
  <value>hdp0</value>
</property>
<property>
  <name>mapred.queue.client3.acl-administer-jobs</name>
  <value>hdp0</value>
</property>
<property>
  <name>mapred.queue.client4.acl-administer-jobs</name>
  <value>hdp0</value>
</property>


格式編排有點跑掉,抱歉!
希望有人能幫我解答,謝謝!


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: 請問一下Fair Scheduler的配置問題
文章發表於 : 2015-04-05, 20:22 
離線

註冊時間: 2009-11-09, 19:52
文章: 2897
eric7311 寫:
那如何將各個job分送到各個pool,是需要下參數指定每個job到某個pool嗎?還是?


http://forum.hadoop.tw/viewtopic.php?f=4&t=60

一種作法是在程式碼中加入指定 pool 的程式碼
代碼:
job.set("mapred.queue.name",$pool);


另一種則是在執行時用參數指定 pool
代碼:
hadoop jar -Dmapred.queue.name=$pool ${YOUR_JAR_FILE} ${YOUR_ARGS}


- Jazz


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: 請問一下Fair Scheduler的配置問題
文章發表於 : 2015-04-07, 15:51 
離線

註冊時間: 2015-03-18, 17:38
文章: 4
我在腳本上有設置了
-D mapred.job.queue.name=client1 \
但是運作後他還是跑到default的queue裡,所以不知道是不是哪裡配置錯誤了

這三個參考網站好像已經不能打開了,不知道是否有其他網站可以參考?
參考:
1. 設定 Cloudera Hadoop 0.18 啟用 Fair Scheduler 的方法
2. Jazz's 筆記(一)
3. Jazz's 筆記(二)

謝謝jazz!


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: 請問一下Fair Scheduler的配置問題
文章發表於 : 2015-04-09, 23:08 
離線

註冊時間: 2009-11-09, 19:52
文章: 2897
eric7311 寫:
我在腳本上有設置了
-D mapred.job.queue.name=client1 \
但是運作後他還是跑到default的queue裡,所以不知道是不是哪裡配置錯誤了

這三個參考網站好像已經不能打開了,不知道是否有其他網站可以參考?
參考:
1. 設定 Cloudera Hadoop 0.18 啟用 Fair Scheduler 的方法
2. Jazz's 筆記(一)
3. Jazz's 筆記(二)

謝謝jazz!


2. Jazz's 筆記(一) - http://trac.3du.me/grid/wiki/jazz/09-09-22
3. Jazz's 筆記(二) - http://trac.3du.me/grid/wiki/jazz/09-04-24#Hadoop

我以前測試過的設定沒有您寫的那麼複雜。
可以參考看看~

- Jazz


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: 請問一下Fair Scheduler的配置問題
文章發表於 : 2015-04-16, 10:24 
離線

註冊時間: 2015-03-18, 17:38
文章: 4
已經可以正常運作了
之前是小地方的錯誤沒發現。抱歉!
謝謝你!!!


回頂端
 個人資料 E-mail  
 
顯示文章 :  排序  
發表新文章 回覆主題  [ 5 篇文章 ] 

所有顯示的時間為 UTC + 8 小時


誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 2 位訪客


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
正體中文語系由 竹貓星球 維護製作