【发布时间】:2016-03-21 16:52:15
【问题描述】:
我已经实现了打开固定 UDP 端口并监听它的源代码。所以,我想每个任务管理器只运行一个源(在我的情况下,我每个节点运行一个任务管理器),因为过度会抛出 java.net.BindException: Address already in use 异常。
我在测试 Apache Flink 的 HA 时注意到了这个问题。当我关闭一个任务管理器时,Apache Flick 开始尝试在一个节点上运行具有相同端口的两个源。
那么,如何为每个任务管理器(或每个集群节点)运行一个源?
【问题讨论】:
-
您是否尝试过将并行度设置为您拥有的节点数?
-
如何动态实现(基于任务管理器或节点的数量)?
-
来自文档:“可以通过在 ExecutionEnvironment 上调用 setParallelism(int parallelism) 或将 -p
传递给 Flink 命令行前端来覆盖整个作业的默认并行度。它可以通过在运算符上调用 setParallelism(int parallelism) 来覆盖单个转换。有关并行性的更多信息,请参阅编程指南。" -
当然,我知道。但是如何动态改变并行度(基于任务管理器或节点的数量)?
标签: apache-flink flink-streaming