以大于1的并行度运行Flink

时间:2018-11-13 14:14:08

标签: parallel-processing apache-flink

可能是我只是想念东西,但我没有更多的想法去寻找。

我从2个来源读取消息,基于一个公共密钥加入并接收 全部交给卡夫卡。

val env = StreamExecutionEnvironment.getExecutionEnvironment 
env.setParallelism(3) 
... 
source1 
 .keyBy(_.searchId) 
 .connect(source2.keyBy(_.searchId)) 
 .process(new SearchResultsJoinFunction) 
 .addSink(KafkaSink.sink) 

因此,当我在本地启动它时,它可以完美工作,并且还可以在Parallelism设置为1的群集上工作,但不再有3了。

当我将其部署到1个作业经理和3个任务管理器并在2个之后使每个任务处于“运行”状态时 分钟(什么都没下沉的时间),任务管理器之一将获得以下日志:
https://gist.github.com/zavalit/1b1bf6621bed2a3848a05c1ef84c689c#file-gistfile1-txt-L108

整个过程都关闭了。

我将不胜感激。 tnx,提前。

1 个答案:

答案 0 :(得分:1)

问题似乎是此任务管理器flink-taskmanager-12-2qvcd(10.81.53.209)无法与至少一个其他任务管理器交谈,即flink-taskmanager-12-57jzd (10.81.40.124:46240)。这就是为什么该作业从未真正开始运行的原因。

我将检查该其他任务管理器的日志,以查看其内容,并查看您的网络配置。也许防火墙正在挡住?