我的组织目前正在使用Hortonworks HDP来管理我们的Hadoop集群。默认的YARN调度程序是Capacity Scheduler。我想切换到Fair Scheduler。我是HDP的新手。
在缺少集群管理套件的情况下,可以通过编辑yarn-site.xml并将yarn.resourcemanager.scheduler.class
属性更改为org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler
并创建额外的fair-scheduler.xml文件来指定队列配置,如here所述,然后引用YARN通过在yarn-site.xml中设置yarn.scheduler.fair.allocation.file
属性来进行该配置。
现在在Ambari,虽然可以通过UI更改yarn.resourcemanager.scheduler.class
属性,并添加一个新的自定义属性yarn.scheduler.fair.allocation.file
,但我不能(为了上帝的爱)找到一种方法让ambari读取fair-scheduler.xml而不是容量 - scheduler.xml。
所以我的问题是;如何通过Ambari切换到公平调度程序?必须有一个简单的方法,对吧?
在RM节点上,使用fair-scheduler.xml的完整路径(或在ambari下的自定义yarn-site中)设置yarn.scheduler.fair.allocation.file
tail -n 1000 /var/log/hadoop-yarn/yarn/hadoop-yarn-resourcemanager-master.log | grep "fair-scheduler.xml"
重新启动ResourceManager后,您应该看到它正在加载您的文件:
2019-02-19 15:49:26,358 INFO fair.AllocationFileLoaderService (AllocationFileLoaderService.java:reloadAllocations(230)) - Loading allocation file file:/usr/hdp/current/hadoop-client/conf/fair-scheduler.xml
适用于Hdp 3.1.1,也可能是3.0.0