paulwong

          配置Hadoop M/R 采用Fair Scheduler算法代替FIFO

          采用Cloudera版本的hadoop/hbase:

          hadoop-0.20.2-cdh3u0

          hbase-0.90.1-cdh3u0

          zookeeper-3.3.3-cdh3u0

          默認已支持FairScheduler調度算法.

          只需改配置使期用FairSchedule而非默認的JobQueueTaskScheduler即可.

          配置fair-scheduler.xml (/$HADOOP_HOME/conf/):

          <?xml version="1.0"?>
          <property>
              <name>mapred.fairscheduler.allocation.file</name>
              <value>[HADOOP_HOME]/conf/fair-scheduler.xml</value>
          </property>
          <allocations>
              <pool name="qiji-task-pool">
                  <minMaps>5</minMaps>
                  <minReduces>5</minReduces>
                  <maxRunningJobs>
                      <maxRunningJobs>5</maxRunningJobs>
                      <minSharePreemptionTimeout>300</minSharePreemptionTimeout>
                      <weight>1.0</weight>
              </pool>
              <user name="ecap">
                  <maxRunningJobs>
                      <maxRunningJobs>6</maxRunningJobs>
              </user>
              <poolMaxJobsDefault>10</poolMaxJobsDefault>
              <userMaxJobsDefault>8</userMaxJobsDefault>
              <defaultMinSharePreemptionTimeout>600
              </defaultMinSharePreemptionTimeout>
              <fairSharePreemptionTimeout>600</fairSharePreemptionTimeout>
          </allocations>



          配置$HADOOP_HOME/conf/mapred-site.xml,最后添加:

          <property>
              <name>mapred.jobtracker.taskScheduler</name>
              <value>org.apache.hadoop.mapred.FairScheduler</value>
          </property>
          <property>
              <name>mapred.fairscheduler.allocation.file</name>
              <value>/opt/hadoop/conf/fair-scheduler.xml</value>
          </property>
          <property>
              <name>mapred.fairscheduler.assignmultiple</name>
              <value>true</value>
          </property>
          <property>
              <name>mapred.fairscheduler.sizebasedweight</name>
              <value>true</value>
          </property>



          然后重新運行集群,這樣有幾個Job(上面配置是5個并行)并行運行時,不會因為一個Job把Map/Reduce占滿而使其它Job處于Pending狀態.

          可從: http://<masterip>:50030/scheduler查看并行運行的狀態.

          posted on 2013-01-31 17:30 paulwong 閱讀(1523) 評論(1)  編輯  收藏 所屬分類: HADOOP 、云計算

          Feedback

          # re: 配置Hadoop M/R 采用Fair Scheduler算法代替FIFO 2013-05-17 10:07 Christopher

          樓主你好,最近我也在配置hadoop的fair scheduler, 但是遇到了一些問題。
          首先我使用的是cloudera-cdh-demo-vm-4.2.0-kvm。當我配置$HADOOP_HOME/conf/mapred-site.xml時,指定pool的分配文件,
          <property>
          <name>mapred.fairscheduler.allocation.file</name>
          <value>/usr/lib/hadoop-0.20-mapreduce/conf/fair-scheduler.xml</value>
          </property>
          重啟cluster之后,無法登錄http://<masterip>:50030/scheduler查看并行運行的狀態.
          請問樓主可否解答?如果需要更詳細的配置,能否留下郵箱進一步讓我進一步咨詢。
            回復  更多評論   


          主站蜘蛛池模板: 乌拉特后旗| 南充市| 三穗县| 台前县| 温泉县| 蚌埠市| 葫芦岛市| 青龙| 湘潭市| 新余市| 柏乡县| 镇赉县| 京山县| 岑溪市| 巴林右旗| 施甸县| 开鲁县| 延寿县| 长沙县| 进贤县| 绥芬河市| 兴宁市| 洛阳市| 平乐县| 崇义县| 三门峡市| 东乡县| 高尔夫| 琼海市| 常宁市| 兖州市| 西青区| 黄冈市| 河津市| 南郑县| 旌德县| 深水埗区| 色达县| 巫山县| 鸡泽县| 潜江市|