flink单task多slot调优

南墨2年前技术文章1260

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会均分启动内存


相关文章

MySQL日期相关函数

一、当前时间--当前时间select current_timestamp();--当前时间 等价于 select current_timestamp();select now();--基本等价于以上两...

ldap安装部署

ldap安装部署

一、关闭selinux和防火墙sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/c...

docker服务端口不通

docker服务端口不通

一、问题现象两台服务器在同一个安全组,docker启动的服务,从另一台机器telnet该docker服务的端口不通。二、排查过程1.从另一台机器telnet该机器的22端口,可以通。证明服务器的网络没...

Hudi集成Spark

Hudi集成Spark

环境准备安装Spark1)Hudi支持的Spark版本HudiSupported Spark 3 version0.12.x3.3.x,3.2.x,3.1.x0.11.x3.2.x(default b...

datahub安装部署

datahub安装部署

背景:由于某客户需要建立sparksql的血缘关系,于是乎提出datahub,由于网上关于datahub资料较少,因此这里做以记录datahub作为一个元数据管理平台,他可以对数据资产进行有效的组织,...

企业级大数据安全架构(八)

企业级大数据安全架构(八)

前面第七章详细介绍了部署FreeIPA来做kerberos认证,这节接着介绍FreeIPA高可用部署1.FreeIPA高可用配置说明:在安装完一台ipa-server之后,在另一个备份节点部署ipa-...

发表评论    

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