flink单task多slot调优

南墨2年前技术文章1603

1. taskmanagerslot的设置方法

方式一:在配置文件中配置taskmanager.numberOfTaskSlots,通过修改提交任务的客户端配置文件中的配置flink-conf.yaml配置,如下图:将该值设置为需要调整的数值即可

1.png

方式二:启动命令的过程中使用-ys命令传入,例如:以下命令

./flink run -m yarn-cluster -p 1 -ys 3 ../examples/streaming/WindowJoin.jar

在启动后在一个taskmanager中会启动3个slot。

2. taskmanagerslot需要优化哪些参数

参数名称

默认值

意义与调整建议

yarn.containers.vcores

1

每个taskmanager(也就是container)内部需要启动使用的vcore得到数量

配置建议:与配置的slot数量相同一致

taskmanager.network.netty.server.numThreads

1(如果配置为-1,则默认跟slot数量保持一致)

Taskmanager作为服务端,并行线程数通道数量

配置建议:与配置的slot数量相同一致

taskmanager.network.netty.client.numThreads

1(如果配置为-1,则默认跟slot数量保持一致)

Taskmanager作为客户端,并行线程数通道数量

配置建议:与配置的slot数量相同一致

taskmanager.network.netty.num-arenas

1(如果配置为-1,则默认跟slot数量保持一致)

Netty域的数量

配置建议:与配置的slot数量相同一致

taskmanager.network.memory.max

1G

Netty使用的缓存数量的最大值,通常情况下随着slot数量增加,netty线程数量增加,那么缓存数据的量会越来越多此时需要增加这个缓存的数量。

配置建议:2G以上,如果

增加taskmanager的启动内存,即-yjm

跟slot数量保持一致

一个taskmanager在启动后,如果设置了多个slot,每个slot会均分启动内存


相关文章

Yarn调度器和调度算法详解

Yarn调度器和调度算法详解

目前,Hadoop作业调度器主要有三种:FIFO、容量(Capacity Scheduler)和公平(Fair Scheduler)。Apache Hadoop3.1.3默认的资源调度器是C...

MongoDB创建索引

一、后台创建索引默认情况下,当我们对一个比较热点的集合创建索引时,直到索引创建完毕,该集合都是无法读写的。1、后台创建索引语法db.collection.createIndex( { filed: 1...

Atlas集成HBase

Atlas集成HBase

1 集成原理 Atlas HBase hook与HBase master注册为协处理器。在检测到对HBase名称空间/表/列族的更改时, Atlas Hook过Kafka通知更新Atlas中的元数据。...

linux下xfs文件系统类型/目录扩容

1、查看分区信息[root@172-16-121-112 ~]# fdisk -lDisk /dev/vda: 107.4 GB, 107374182400 bytes, 209715200 sect...

Zabbix监控接入

Zabbix监控1、环境实验机器:118.31.158.83(zabbix server)172.17.6.11(zabbix proxy)172.17.6.11(zabbix agent)2、安装z...

Hbase映射为Hive外表

Hbase映射为Hive外表

Hbase对应Hive外表(背景:在做数据ETL中,可能原始数据在列式存储Hbase中,这个时候,如果我们想清洗数据,可以考虑把Hbase表映射为Hive的外表,然后使用Hive的HQL来清除处理数据...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。