最新要闻
- 属实赚麻了!《满江红》7天为光线传媒创收7000万元
- 大赚718亿元!网红基金经理张坤、葛兰火速回血
- 【全球聚看点】2022年各国汽车销量榜:中国第一 印度迅猛崛起
- 世界速讯:端劳饭碗 中国研发出玉米秸秆合成淀粉及蛋白技术:成本大降
- THAILAND是哪个国家?thailand怎么读英语?
- 职务怎么填?职务侵占罪立案标准
- 奋进的旋律大结局是什么?奋进的旋律演员表名单
- 春风徐徐下一句的是什么?春风徐徐打一生肖是什么?
- 立春节气的特点和风俗有哪些?立春节气朋友圈句子
- 当前头条:德系车在中国不香了?2022年大众、BBA少卖了20万台
- 《满江红》:成也算计 败也算计
- 【焦点热闻】轻至689克!富士通推出UH-X/H1轻薄本:世界上最轻的14英寸笔电
- 环球快播:给头发做个香氛SPA:舒蕾山茶花洗发水500ml 19.9元/瓶大促
- 报道:特斯拉全球开打价格战 大众第一个交枪!CEO:我们不跟
- 环球播报:小米汽车全身照传疯了!轿跑车身+迈凯伦式大灯 网友:保里保气
- 领90元大额券:可孚全自动血压计49.9元到手 给爸妈买一台
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
Yarn平滑下线节点(Graceful Decommission)
- 一、背景
- 二、概述
- 三、下线流程与原理
- 1.读取待下线节点列表
- 2.判断节点下线模式
- 3.设置超时时间
- 4.RMNode 处理下线事件
- 5.监控节点的状态、下线节点
- 四、相关的Yarn集群配置
一、背景
接手部门 Hadoop 和 Flink 集群半年了,一直忙着上云的事儿,很少有时间去琢磨运维的事儿。上完云之后,老板着重强调要稳定,尤其是 Flink 集群,稳定性是实时任务最重要的指标。因为我们是 Flink on Yarn 的模式,Yarn 的节点上线和下线其实就是两行命令的事儿,但是 Flink 集群就不能这么做了。
我们的机器配置比较高,一台机器上可能跑着上百个 Flink 任务的 Taskmanager 或 JobManager,直接把 NodeManager 节点摘掉,影响的任务太多,风险就比较大,所以老板让我调研一下如何把下线节点做到对业务方的影响无感,把风险降到最低。
(资料图片仅供参考)
在查阅了一番的资料之后,找到了相对好一点的办法:先把机器从 Yarn 上 Graceful Decommisson,然后逐个 kill 这台机器上任务的 task。这种做法的好处在于:第一,下线期间,不会有新的 Container 分配到这台机器上;第二,逐个 kill 让风险可控,有一个 Buffer。
二、概述
Yarn 集群的扩容非常简单,只需要在新的机器节点上,运行 NodeManager 服务,Yarn 会自动完成节点注册,资源检测等操作,然后在该节点上运行任务。除了易于扩容,Yarn 还支持通过下线 (Decommission)节点的方式实现弹性缩容。Yarn节点有两种下线方式:
一个是正常的 DECOMMISSIOIN 方式,直接在节点上关闭 NodeManager 服务,这种方式会导致运行在该节点上的所有 container 全部 failover。
另一种更优雅的方式 GRACEFUL_DECOMMISSION,不会直接关闭 NodeManager 服务,而是会尽可能地降低对运行中的任务的影响。节点处于下线流程期间,ResourceManager 不会向这些节点调度新的 container,并等待正在运行的 container 都结束(或者达到指定的超时时间),才会将节点标记为 Decommission 状态,将其从集群中删除。
三、下线流程与原理
#节点下线命令yarn rmadmin -refreshNodes [-g [timeout in seconds] -client|server]
1.读取待下线节点列表
首先需要在集群配置文件中指定需要下线的节点列表,如果每个节点下线的超时时间不同,还需要额外对每个节点配置单独的超时时间,然后使用上述节点下线命令。
使用上述命令后,ResourceManager 中的 NodeListManager 组件会读取待下线节点列表文件(目前该文件只支持文本或者xml格式),具体来说,如果想要实现每个节点单独配置下线超时时间,那么该文件必须是 xml 格式。
2.判断节点下线模式
读取到需要下线的所有节点Host之后,Yarn 会按照命令中指定的模式处理下线:client 或 server 模式。
这两种模式的区别在于,超时时间配置生效的优先级和超时时间处理的对象。
- 在 server 模式下,优先级是 待下线列表文件 > 下线命令 > yarn配置;在 client 模式下,只有下线命令中指定的超时时间会生效。
- 在 client 模式下, client 会处于阻塞状态来追踪是否达到超时时间;而 server 模式下,该工作由 ResourceManager 完成。
3.设置超时时间
读取到有效的超时时间后,NodeListManager 会给每个 RMNode 设置单独的超时时间。这个超时时间也可以通过再次使用上述命令的方式进行动态调整,重复使用上述命令并不会重置超时时间,只会影响节点是否超时的判断。
比如说,在 1:00 设置了某个节点2小时后(即3:00)下线,如果在 2:00 的时候,再次使用该命令设置该节点的超时时间为3小时,那么此时该节点的下线时间会是 4:00 而不是 5:00,过去的这1个小时的时间并不会被重置。如果这个时候再将超时时间设置为1小时,下线时间就会是2:00,那么该节点将立即下线。
4.RMNode 处理下线事件
在收到 GRACEFUL_DECOMMISSION 指令后,RMNode 会保存指定的超时时间,并更新节点指标,保留其总的资源容量信息,并切换到待下线(DECOMMISSIONING)状态。处于该状态的 RMNode 会定期动态地更新资源情况,防止因为集群可用资源不足,scheduler 将新的 container 分配到将下线节点上。
5.监控节点的状态、下线节点
在收到 GRACEFUL_DECOMMISSION 指令后,Yarn 会启动一个组件 DecommissioningNodeWatcher 来自动地异步监控待下线(DECOMMISSIONING)节点的状态。待下线节点的 NodeManager 进程会定期发送心跳,来报告其上所有运行的 container 的最新运行状态,DecommissioningNodeWatcher 会监控这些 container 的状态,并在所有的 container 运行完成后,通知 NodeManager 关闭,并将该节点切换为已下线(DECOMMISSIONED)状态。
由于在 MapReduce 任务中,即使一个节点上所有的 container 都运行完了,它仍然会为 reducer 提供 map 的输出数据,在这种情况下,Yarn 的 GRACEFUL_DECOMMISSION 机制会保留这些待下线节点(即使该节点上所有 container 都运行完了),直到所有涉及的任务都运行结束。
但是某些任务可能会长时间运行,这就会导致待下线节点上的 container 一直无法运行完成,或者即使运行完了也需要读取数据而无法下线节点。而超时时间的作用就是,只要达到超时时间,不管 container 或者任务有没有运行完成,DecommissioningNodeWatcher 都会将节点下线,没有完成的任务会 failover。
所有待下线节点的状态,都会定期(默认每20s)记录在 ResourceManager 的日志中,以下是待下线节点的所有状态:
NONE– Node状态正常,并不是待下线节点 WAIT_CONTAINER– 等待所有 container 运行完成 WAIT_APP– 等待所有涉及的 application 运行完成(在所有container完成后) TIMEOUT– 超时 READY– 准备下线 DECOMMISSIONED– 已下线
四、相关的Yarn集群配置
yarn.resourcemanager.nodes.exclude-path
需要下线的节点 Host 文件路径。
yarn.resourcemanager.nodemanager-graceful-decommission-timeout-secs
GRACEFUL_DECOMMISSION 下线节点的超时时间。默认值为 3600s,即1小时。
如果将该值设为负数,则节点会等到所有任务完成,永远不会强制下线节点。视具体情况,可以在执行下线命令前修改该值。或者直接通过命令指定。
yarn.resourcemanager.decommissioning-nodes-watcher.poll-interval-secs
DecommissioningNodesWatcher 内的轮询计时器任务的周期(以秒为单位),用于识别和处理心跳信息缺失的待下线节点。默认值为 20s。 私有云使用默认值。
关键词: 动态调整
Yarn平滑下线节点(Graceful Decommission)
【天天热闻】火山引擎 DataTester:“在字节,A/B 实验是一种信仰”
Asp.Net7 与 Vue3 组成的 BFF模式
属实赚麻了!《满江红》7天为光线传媒创收7000万元
大赚718亿元!网红基金经理张坤、葛兰火速回血
【全球聚看点】2022年各国汽车销量榜:中国第一 印度迅猛崛起
世界速讯:端劳饭碗 中国研发出玉米秸秆合成淀粉及蛋白技术:成本大降
THAILAND是哪个国家?thailand怎么读英语?
职务怎么填?职务侵占罪立案标准
奋进的旋律大结局是什么?奋进的旋律演员表名单
春风徐徐下一句的是什么?春风徐徐打一生肖是什么?
立春节气的特点和风俗有哪些?立春节气朋友圈句子
谷歌浏览器怎么样?谷歌浏览器无法打开网页是什么原因?
地暖怎么进行打压试验?地暖是怎么样供暖的?
LOL裁决之镰怎么解除?lol裁决之镰为什么没了?
《安富莱嵌入式周报》第301期:ThreadX老大离开微软推出PX5 RTOS第5代系统,支持回流焊的自焊接PCB板设计,单色屏实现多级灰度播放视频效果
【全球新要闻】河北小伙深耕OI默默无闻 LOGO设计放眼全球一鸣惊人 当LOGO设计与世界文化擦出火花——JJQ的LOGO设计之路(纯文
MOTO XT390手机什么时候上市的?MOTO XT390手机参数
iPhone5C上市价格是多少?iphone5c还能用微信吗?
当前头条:德系车在中国不香了?2022年大众、BBA少卖了20万台
《满江红》:成也算计 败也算计
【焦点热闻】轻至689克!富士通推出UH-X/H1轻薄本:世界上最轻的14英寸笔电
环球快播:给头发做个香氛SPA:舒蕾山茶花洗发水500ml 19.9元/瓶大促
报道:特斯拉全球开打价格战 大众第一个交枪!CEO:我们不跟
ServletContext与静态变量(static)的区别,数据库连接池放在哪里
最新资讯:Fortran数组排序:冒泡排序法
头条焦点:Python Numpy 中的打印设置函数set_printoptions
环球播报:小米汽车全身照传疯了!轿跑车身+迈凯伦式大灯 网友:保里保气
领90元大额券:可孚全自动血压计49.9元到手 给爸妈买一台
【全球快播报】真正开对撞机的女孩:从不化妆 一守就是13年
当前速看:苹果车祸检测功能误报不断 救援部门被折腾惨了
新消息丨可直接丢进马桶里!德祐湿厕纸大促:3包不到16元
【世界快播报】读Java8函数式编程笔记05_数据并行化
每日热门:首次打破日本垄断 国内量产OLED显示屏关键材料FMM
每日热文:小米MIUI 14最新升级计划出炉:小米11、Redmi K40等25款机型在列
天天要闻:《满江红》票房近32亿 大V称制作成本不超一千万:官方已无视造谣者
世界信息:真实感渲染:模型变换
码龄几十年的老程序员都不知道的存图小技巧“指向立体星” 学到就是赚到!速戳>>
【全球独家】微信春节大数据出炉:发送红包40亿次 《三体》阅读量第一
你想坐吗?国产大飞机C919航班定了:2月28日北京上海首航
天天即时看!CPU核心数越多越好?看懂CPU核心线程数才能不被骗
全球热点![概率论与数理统计]笔记:5.2 参数的最大似然估计与矩估计
Exgcd(扩展欧几里得算法)
【全球报资讯】滑铁卢?《流浪地球2》北美上映票房不敌印度电影
热门看点:ChatGPT爆火:谷歌、Meta等压力大
微资讯!男子把绿动车当成绿皮车抽烟被拘:其实是“绿巨人”电力动车组
当前速看:状告4位大V后 《满江红》片方称不再起诉其他造谣者:不再回应
装饰模式
全球热头条丨漫威宇宙十大战力英雄:钢铁侠仅排第五
【世界新要闻】Intel花六个月造了一块乐高Arc显卡:1比1完美复刻!
环球资讯:【byob】 payload 生成过程
每日时讯![概率论与数理统计]笔记:5.1 点估计概述
热议:VMware vSphere ESXi 7.0安装配置
天天热点评!QPython实例01-获取所有短信并生成词云
世界观点:微信:2023年春节用户发红包超40亿次 竖屏春晚超1.9亿人观看
世界微动态丨Uzi再被冻结43万股权!公司与范丞丞合作
Blazor模式讲解
全球信息:国补退坡 上海延续新能源车置换补贴:单车补1万元
【全球时快讯】米哈游全新力作!《崩坏:星穹铁道》全平台预约已突破千万
今日热门!富豪刘銮雄拍卖76只爱马仕包:最贵一只200万
【全球时快讯】算法对算法!斯坦福大学推出DetectGPT:阻止学生用AI写作业
今日观点!2月2日或能肉眼看见5万年一遇的绿色彗星:正迅速逼近地球!
焦点资讯:Kubernetes监控手册06-监控APIServer
全球最资讯丨CRT&EXCRT(中国剩余定理和扩展中国剩余定理)
【新视野】学习笔记——redis事务、乐观锁、悲观锁
国内首家!统信操作系统成功获得商用密码产品认证证书
环球热点!“流浪地球”成功的概率有多高?你肯定想不到
当前视点!脑洞大开的机械键盘 内部竟搭CPU和GPU
天天百事通!阿里云推全国首个跨省域智慧大脑:汇聚江浙沪242项数据资源
全球资讯:不得不防!奥密克戎新变异毒株“双头犬”现身美国:已被世卫监测
【环球热闻】记录--Vue PC前端扫码登录
[概率论与数理统计]笔记:4.4 抽样分布
当前速讯:1.29数论课笔记
最新快讯!40万级乱杀!全新国产奔驰GLC配置曝光:四款车型、两种外观
全球焦点!Gamerant赞《黑神话·悟空》:虚幻5打造《西游记》传说值得期待
天天要闻:这外观似曾相识!荣耀Magic 5 Lite曝光:后置圆环三摄
全球快看:《狂飙》爆火出圈!《孙子兵法》登顶淘宝热搜 发货要等25天
男子2月没摘隐形眼镜:镜片长到眼球上
焦点日报:时区介绍
前沿热点:Matlab导入多个.mat文件进行画图
每日信息:对标三星索尼!SK海力士重组CMOS图像传感器团队
天天微头条丨网友吐槽美国医院3小时拔不出一根鱼刺 急诊那是真不急
全球微资讯!耶路撒冷老城千年护城河道惊现神秘手印 专家:或为工人恶作剧
最新快讯!立减40元:露得清氨基酸洗面奶19.9元到手 男女通用
世界看热讯:5G四足机器人“入职”中国电信核心机房:支持自主巡航 360度旋转夜视
乘法逆元
今日看点:C++11简易线程池实现
002-dockerfile部署java项目
当前观点:springboot~openfeign开启熔断之后MDC为null的理解
焦点播报:WebAPI_DAY1
猛禽之王!摄影爱好者抓拍到金雕展翅抓羊场面:超震撼
全球今亮点!《狂飙》爆火后 《孙子兵法》解析成微信读书飙升榜第一名
天际汽车刹车失灵 故障不断!车主售后找不到人
当前资讯!雷蛇宣布2月2日发布新品:或为毒蝰系列新品
72G《英雄联盟》源代码被盗 拳头游戏拒绝打钱 黑客:100万美元起拍
焦点要闻:关于pacemaker中资源启动的位置条件约束Location Constraints
【天天快播报】Codeforces Round #847 (Div. 3) ABCDE
焦点滚动:win32com操作word API精讲 第八集 Range和Selection的区别
多地现宰客乱象 央视评宰客事件:“一锤子买卖”?
【世界新要闻】明年的苹果iPad Pro将是重头戏!屏幕、后盖全都升级了