我正在尝试获取一些简单的规则或指南来设置哪些值
操作员或工作
并行性。在我看来,它应该是一个数字
例如,假设我有 2 台任务管理器机器,每台都有 4 个任务槽。
假设集群上没有运行其他作业,我会设置并行度吗
用于操作
喜欢过滤并映射到 8?如果不是,合理的数字是多少?
如果您请求的并行度超过任务槽的数量,会发生什么情况?在
上面的例子,
如果我将操作的并行度设置为 12 会发生什么?我假设它
只会使用尽可能多的
有哪些可用?
另外,您似乎不想将并行性硬编码到
你的源代码,因为
当您提交时,您可能希望对可用任务槽有一个粗略的了解
工作?
您应该将所有运算符的并行度设置为大致相同还是不同
价值观,以及什么可以指导
那个决定?
Thanks!
一般来说,最好不要对并行性进行硬编码,因为通常由操作人员负责决定为您的作业分配多少资源。此外,资源需求通常取决于您的 SLA 和实际工作负载,因此是独立于程序的,应单独处理。
With 弗林克1.5.0 https://flink.apache.org/downloads.html#latest-stable-release-v150当在 Yarn 或 Mesos 上运行时,您只需要决定作业的并行性,系统将确保它启动足够的 TaskManager 和足够的槽来执行您的作业。这完全是动态发生的,您甚至可以在运行时更改作业的并行性。
如果您使用独立模式或者您的 Yarn/Mesos 集群没有足够的可用资源/插槽,则作业将失败并显示NoResourceAvailableException
如果系统无法获取所需的插槽。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)