问题描述: 根据官方文档示例文档操作步骤,可正常在单机模式启动Flink,但提交WordCount示例时任务执行失败并出现类似:
TaskExecutor akka.tcp://xxx has no more allocated slots for job nnn
错误
测试环境:
- Catalina 10.15
- JDK 8
-
Flink 1.12
错误样式
问题原因及解决方法
原因:出现该问题的主要原因是因为在我们本地测试时,默认jobmanager配置的地址是localhost,但taskmanager在初始化时使用的ip却是本机局域网IP,如192.168.*;10.*
等,造成任务执行过程中JobManager向TaskManager申请计算资源执行任务时无法正常获取Slots算子
解决方案:
修改
flink-conf.yaml
配置并添加配置指定TaskManager注册地址
taskmanager.host: localhost
官方配置说明文档,修改完成后重启集群
$ ./bin/stop-cluster.sh #停止集群
$ ./bin/start-cluster.sh #启动集群
$ ./bin/flink run examples/streaming/WordCount.jar #提交示例任务
重新运行示例即可正常执行
网友评论