Flink单机部署,slots为0,TaskExecutor akka.tcp://xxx has no more allocated slots for job

问题:
1、单机部署启动flink后,UI页面Available Task Slots显示为0
2、提交job时,会报错:TaskExecutor akka.tcp://xxx has no more allocated slots for job

原因:flink部署到集群上,standalone模式,需要指定TaskManager主机的地址:修改flink-conf.yaml配置并添加配置 taskmanager.host: localhost
否则提交job时,会报错:TaskExecutor akka.tcp://xxx has no more allocated slots for job

出现该问题的主要原因是因为在我们本地测试时,默认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  #提交示例任务

你可能感兴趣的:(flink,flink)