配置hadoop 使用fair scheduler调度器

hadoop版本为cloudera hadoop cdh3u3

配置步骤为

1. 将$HADOOP_HOME/contrib/fairscheduler/hadoop-fairscheduler-0.20.2-cdh3u3.jar拷贝到$HADOOP_HOME/lib文件夹中

2. 修改$HADOOP_HOME/conf/mapred-site.xml配置文件

[html] view plain copy
  1. <property>
  2. <name>mapred.jobtracker.taskScheduler</name>
  3. <value>org.apache.hadoop.mapred.FairScheduler</value>
  4. </property>
  5. <property>
  6. <name>mapred.fairscheduler.allocation.file</name>
  7. <value>/home/hadoop/hadoop-0.20.2-cdh3u3/conf/fair-scheduler.xml</value>
  8. </property>
  9. <property>
  10. <name>mapred.fairscheduler.preemption</name>
  11. <value>true</value>
  12. </property>
  13. <property>
  14. <name>mapred.fairscheduler.assignmultiple</name>
  15. <value>true</value>
  16. </property>
  17. <property>
  18. <name>mapred.fairscheduler.poolnameproperty</name>
  19. <value>mapred.job.queue.name</value>
  20. <description>job.set("mapred.job.queue.name",pool);</description>
  21. </property>
  22. <property>
  23. <name>mapred.fairscheduler.preemption.only.log</name>
  24. <value>true</value>
  25. </property>
  26. <property>
  27. <name>mapred.fairscheduler.preemption.interval</name>
  28. <value>15000</value>
  29. </property>
  30. <property>
  31. <name>mapred.queue.names</name>
  32. <value>default,hadoop,hive</value>
  33. </property>

3. 在$HADOOP_HOME/conf/新建配置文件fair-scheduler.xml

[html] view plain copy
  1. <?xmlversion="1.0"?>
  2. <allocations>
  3. <poolname="hive">
  4. <minMaps>90</minMaps>
  5. <minReduces>20</minReduces>
  6. <maxRunningJobs>20</maxRunningJobs>
  7. <weight>2.0</weight>
  8. <minSharePreemptionTimeout>30</minSharePreemptionTimeout>
  9. </pool>
  10. <poolname="hadoop">
  11. <minMaps>9</minMaps>
  12. <minReduces>2</minReduces>
  13. <maxRunningJobs>20</maxRunningJobs>
  14. <weight>1.0</weight>
  15. <minSharePreemptionTimeout>30</minSharePreemptionTimeout>
  16. </pool>
  17. <username="hadoop">
  18. <maxRunningJobs>6</maxRunningJobs>
  19. </user>
  20. <poolMaxJobsDefault>10</poolMaxJobsDefault>
  21. <userMaxJobsDefault>8</userMaxJobsDefault>
  22. <defaultMinSharePreemptionTimeout>600</defaultMinSharePreemptionTimeout>
  23. <fairSharePreemptionTimeout>600</fairSharePreemptionTimeout>
  24. </allocations>

4. 在集群的各个节点执行以上步骤,然后重启集群,在http://namenode:50030/scheduler 即可查看到调度器运行状态,如果修改调度器配置的话,只需要修改文件fair-scheduler.xml ,不需重启配置即可生效。

5. 在执行hive任务时,设置hive属于的队列set mapred.job.queue.name=hive;

##########

另外,如果在执行MR JOB的时候出现XX用户访问不了YY队列的话,就需要在mapred-queue-acls.xml里配置相应的属性,来对访问权限进行控制,比如:

[html] view plain copy
  1. <property>
  2. <name>mapred.queue.default.acl-submit-job</name>
  3. <value>*</value>
  4. <description>Commaseparatedlistofuserandgroupnamesthatareallowed
  5. tosubmitjobstothe'default'queue.Theuserlistandthegrouplist
  6. areseparatedbyablank.Fore.g.user1,user2group1,group2.
  7. Ifsettothespecialvalue'*',itmeansallusersareallowedto
  8. submitjobs.Ifsetto''(i.e.space),nouserwillbeallowedtosubmit
  9. jobs.
  10. ItisonlyusedifauthorizationisenabledinMap/Reducebysettingthe
  11. configurationpropertymapred.acls.enabledtotrue.
  12. IrrespectiveofthisACLconfiguration,theuserwhostartedtheclusterand
  13. clusteradministratorsconfiguredvia
  14. mapreduce.cluster.administratorscansubmitjobs.
  15. </description>
  16. </property>
  17. <property>
  18. <name>mapred.queue.default.acl-administer-jobs</name>
  19. <value>*</value>
  20. <description>Commaseparatedlistofuserandgroupnamesthatareallowed
  21. toviewjobdetails,killjobsormodifyjob'spriorityforallthejobs
  22. inthe'default'queue.Theuserlistandthegrouplist
  23. areseparatedbyablank.Fore.g.user1,user2group1,group2.
  24. Ifsettothespecialvalue'*',itmeansallusersareallowedtodo
  25. thisoperation.Ifsetto''(i.e.space),nouserwillbeallowedtodo
  26. thisoperation.
  27. ItisonlyusedifauthorizationisenabledinMap/Reducebysettingthe
  28. configurationpropertymapred.acls.enabledtotrue.
  29. IrrespectiveofthisACLconfiguration,theuserwhostartedtheclusterand
  30. clusteradministratorsconfiguredvia
  31. mapreduce.cluster.administratorscandotheaboveoperationsonallthejobs
  32. inallthequeues.Thejobownercandoalltheaboveoperationsonhis/her
  33. jobirrespectiveofthisACLconfiguration.
  34. </description>
  35. </property>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hadoop YARN是Hadoop的下一代集群资源管理系统,它将集群资源划分为容,通过资源调度来分配和管理这些容。资源调度配置对于集群的性能和资源利用率至关重要。 首先,需要配置YARN的调度类型。目前YARN支持两种调度:容量调度和公平调度。容量调度将集群资源按比例分配给不同的队列,每个队列有固定的资源容量;而公平调度将资源动态分配给各个应用程序,根据应用程序的运行状况动态调整资源分配。 其次,需要配置队列的属性。队列属性包括队列名称、资源容量、资源限制等。资源容量指定了每个队列可以使用的最大资源数量,资源限制是为了避免某个队列占用过多资源而导致其他队列无法正常运行。 另外,还可以配置调度的策略。调度策略根据不同的需求来决定资源的分配方式,比如公平策略会尽量保持各个应用程序获得相同的资源量,而容量策略则会按照预先设定的比例分配资源。 此外,还需要配置队列的优先级。队列优先级可以保证某个队列在资源不足时获得更多的资源,以确保高优先级的应用程序能够正常运行。 最后,还可以配置一些其他参数,例如最大容数、最大AM资源比例等。这些参数可以根据具体的需求进行调整,以优化资源管理和调度效果。 总之,Hadoop YARN资源调度配置需要根据集群的实际情况和需求进行灵活的调整,以实现高效的资源管理和调度

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值