hadoop使用公平调度器

总计写在前面,请使用公平调度器!!!

我根据时间节点来梳理一下发生了什么。

Stage 1(默认调度器)

        大概在几年前,搭建的数仓集群中。数据量不大,做离线一个晚上就能轻松调度完,那时候使用的hadoop自带的调度器,容量调度器。但默认配置没有改,就会发生什么!

        root主leaf下面只有default。虽然是容量调度器,但运行起来就是一个fifo。

Stage 2(容量调度器)

        过了几个月,随着调度增加。发现不对劲了!我集群的资源没有用上啊。就增加了调度队列,比如说root主leaf下有个hive主leaf下面两个队列hive1和hive2,还有个kylin队列,flink队列等。。。这些都是在$HADOOP_HOME/etc/hadoop/capacity-scheduler.xml 里面配置的,我不过多描述了,不会配置的朋友网上搜索一下。

Stage 3(公平调度器)

        大概过了一年以后,我无论怎么优化,优化数据库,采集,代码等。发现不尽人意,资源还是没完全利用起来,这个时候我发现了容量调度器本身就存在缺陷。就开始启用公平调度器。在简单的配置下,测试了一下。我测试的hadoop自带的hadoop-mapreduce-examples-2.7.2.jar,这可是hadoop自带的程序。几个窗口同时运行,发现速度极快而且几乎同时完成。于是,就改用公平调度器!

        修改yarn-site.xml:

        添加如下:

<property>
        <name>yarn.resourcemanager.scheduler.class</name>
        <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
        <description>set fair sch</description>
    </property>

        然后在$HADOOP_HOME/etc/hadoop下面新建fair-scheduler.xml文件,里面的内容为,可以自己修改(切记weight别设置相同,不然会出现堵塞的问题):

<?xml version="1.0"?>
<!--
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. See accompanying LICENSE file.
-->

<!--
  This file contains pool and user allocations for the Fair Scheduler.
  Its format is explained in the Fair Scheduler documentation at
  http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/FairScheduler.html.
  The documentation also includes a sample config file.
-->

<allocations>
    <defaultQueueSchedulingPolicy>fair</defaultQueueSchedulingPolicy>

    <queue name="default">
        <weight>30</weight>
    </queue>

    <queue name="kylin">
        <weight>50</weight>
    </queue>
	
	<queue name="hive1">
        <weight>70</weight>
    </queue>

    <queuePlacementPolicy>
        <rule name="specified" create="false" />
        <rule name="primaryGroup" create="false" />
        <rule name="default" queue="default" />
    </queuePlacementPolicy>
</allocations>

重启yarn。

完成,可以去hadoop页面查看!

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hadoop YARN是Hadoop的下一代集群资源管理系统,它将集群资源划分为容,通过资源调度来分配和管理这些容。资源调度的配置对于集群的性能和资源利用率至关重要。 首先,需要配置YARN的调度类型。目前YARN支持两种调度:容量调度公平调度。容量调度将集群资源按比例分配给不同的队列,每个队列有固定的资源容量;而公平调度将资源动态分配给各个应用程序,根据应用程序的运行状况动态调整资源分配。 其次,需要配置队列的属性。队列属性包括队列名称、资源容量、资源限制等。资源容量指定了每个队列可以使用的最大资源数量,资源限制是为了避免某个队列占用过多资源而导致其他队列无法正常运行。 另外,还可以配置调度的策略。调度策略根据不同的需求来决定资源的分配方式,比如公平策略会尽量保持各个应用程序获得相同的资源量,而容量策略则会按照预先设定的比例分配资源。 此外,还需要配置队列的优先级。队列优先级可以保证某个队列在资源不足时获得更多的资源,以确保高优先级的应用程序能够正常运行。 最后,还可以配置一些其他参数,例如最大容数、最大AM资源比例等。这些参数可以根据具体的需求进行调整,以优化资源管理和调度效果。 总之,Hadoop YARN资源调度的配置需要根据集群的实际情况和需求进行灵活的调整,以实现高效的资源管理和调度

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值