记录Flink On Yarn taskmanager分配不均匀问题

在CDH 6.3.0环境中,使用Flink 1.12.1进行Yarn调度时,发现TaskManager主要集中在少数几个节点上,导致负载不均衡。分析了Yarn的公平调度器配置yarn.scheduler.fair.assignmultiple(默认为true,允许节点分配多个container)和yarn.scheduler.fair.max.assign(默认为-1,不限制节点分配的container数)。提出两种解决方案:一是禁用在同一节点分配多个container;二是限制每个节点的最大分配container数,以实现更均匀的资源利用。

业务场景:

Flink On Yarn任务启动

组件版本:
CDH:6.3.0
Flink:1.12.1
Hadoop:3.0.0

问题描述:

在使用FLink on Yarn调度过程中,发现taskmanager总是分配在集中的几个节点上,集群有11个节点,但每个任务启动,只用到两三个节点,导致这几台服务器负载过高,其他节点又比较空闲。
在这里插入图片描述

问题分析:

在这里插入图片描述
先介绍yarn的两个参数:
1、yarn.scheduler.fair.assignmultiple
2、yarn.scheduler.fair.max.assign
第一个参数代表是否在一个节点分配多个container,第二个参数代表在一个节点上一次性最多分配几个container。
CDH6.3.0中第一个参数默认为true,则意味着会在一个节点上分配多个container,则会有多个taskmanager。
第二个参数默认为-1,则意味着不限制,则会一次性分配较多container。

问题解决:

第一种:将yarn.scheduler.fair.assignmultiple改为false
第二种:yarn.scheduler.fair.assignmultiple为true,将yarn.scheduler.fair.max.assign指定较小数值

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值