当前位置: 首页 > news >正文

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 athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed 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 andlimitations 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 athttp://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页面查看!

相关文章:

  • 包装组件的优点和可能的挑战
  • 鸿蒙开发系列教程(十六)--日志处理
  • B2052 简单计算器(洛谷)
  • Vue3快速上手(二)VSCode官方推荐插件安装及配置
  • IDEA 推荐插件
  • 苹果macbook电脑删除数据恢复该怎么做?Mac电脑误删文件的恢复方法
  • 天线阵列车载应用——第1章 介绍 1.1节 汽车工业中的天线阵列:应用和频率范围
  • android下library打包aar并上传到maven,嵌入版的app
  • 爬虫笔记(三):实战qq登录
  • 视频上传 - 断点续传那点事
  • IDEA新建文件夹后右击不能创建class类排错方法
  • QT QDialog 中的按钮,如何按下后触发 accepted 消息?
  • Java+SpringBoot:构建稳定高效的计算机基础教学平台
  • UE中的Cast和CastChecked
  • 「云原生可观测团队」获选「InfoQ 年度技术内容贡献奖」
  • [PHP内核探索]PHP中的哈希表
  • 【剑指offer】让抽象问题具体化
  • 0基础学习移动端适配
  • CODING 缺陷管理功能正式开始公测
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • egg(89)--egg之redis的发布和订阅
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • isset在php5.6-和php7.0+的一些差异
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • Linux快速复制或删除大量小文件
  • React组件设计模式(一)
  • SQLServer插入数据
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 离散点最小(凸)包围边界查找
  • 聊聊flink的BlobWriter
  • 山寨一个 Promise
  • 什么是Javascript函数节流?
  • 微信开源mars源码分析1—上层samples分析
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • 再谈express与koa的对比
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • #HarmonyOS:基础语法
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • #预处理和函数的对比以及条件编译
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (2)Java 简介
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (小白学Java)Java简介和基本配置
  • (转)Linux下编译安装log4cxx
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • (状压dp)uva 10817 Headmaster's Headache
  • .NET 3.0 Framework已经被添加到WindowUpdate
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .NET delegate 委托 、 Event 事件
  • .NET 药厂业务系统 CPU爆高分析
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)