我使用的是vm,我的集群由3个taskmanagers组成,主服务器也是jobmanager和taskmanager(4个taskmanagers和一个jobmanager),所以当我运行jar文件时,它只使用了一个插槽,我有4个插槽,大约一个插槽用于一个任务管理器,我不知道为什么框架没有使用所有可用的插槽。我想知道数据集应该在每个taskmanager中吗?
我使用的是vm,我的集群由3个taskmanagers组成,主服务器也是jobmanager和taskmanager(4个taskmanagers和一个jobmanager),所以当我运行jar文件时,它只使用了一个插槽,我有4个插槽,大约一个插槽用于一个任务管理器,我不知道为什么框架没有使用所有可用的插槽。我想知道数据集应该在每个taskmanager中吗?
1条答案
按热度按时间2wnc66cl1#
您的问题的答案在某种程度上取决于您使用的集群管理器(例如,yarn、mesos、kubernetes或standalone),但一般来说,flink不支持自动缩放,因此您需要显式配置所需的并行性。您可以在作业的源代码、flink-conf.yaml或命令行中执行此操作。如果不执行此操作,则作业将以默认并行方式运行。
至于应该将数据放在哪里,flink应用程序将使用源连接器读取数据。如果使用文件系统作为数据源,那么每个taskmanager都需要能够使用相同的文件系统uri读取数据——这最好通过使用分布式文件系统来实现。