在开发环境测试flink代码,打包运行发现,并行度为1时可以正常运行,但是提高并行度就会出现Flink LocalTransportException Sending the partition request to ‘null‘ failed的异常。起初以为是内存的限制,但是提高taskManager和jobManager的内存限制还是报错。

        之后在网上搜遍了都没找到问题,有一个帖子标题是这个但是收费的。。。在经历无数的搜索与尝试后,在flink github的pull列表里找到了这个问题。原来提示request to ‘null‘ failed这就是一个BUG,已经在新的版本修复了,我测试用的是flink1.13.0,升级到flink1.13.6在执行一遍就能显示正确的异常日志了。

这是bug的原因,已经在后续版本修复,要查问题的话可以先用新版本flink跑一下。【flink bug说明】https://github.com/apache/flink/pull/15982

用新版flink执行任务后,得到以下日志:

        发现居然提示连接不上127.0.0.1,检查机器的hosts,发现本机的hostname映射了127.0.0.1,所以某些原因flink在提高并行度后,其他机器也是拿127.0.0.1去访问该机器的taskManager,那肯定是连接不上的,把/etc/hosts里面的该机器的hostname与127.0.0.1的映射注释掉,然后配置成外网的ip地址,重新执行任务,发现可以正常执行。

好文链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: