Flink Jobmanager 看不到任务管理器
Flink Jobmanager not able to see task managers
所以我在我们的网络上安装了 apache flink 集群。我已经完成了如下所示的配置。这个Master(JobManager)启动,通过ssh向所有slave发送启动命令。我可以看到任务管理器在主节点启动后 运行ning。
所有节点上的配置文件:
jobmanager.rpc.address: flmaster
jobmanager.rpc.port: 6123
jobmanager.heap.mb: 1024
taskmanager.heap.mb: 2048
taskmanager.numberOfTaskSlots: 1
taskmanager.memory.preallocate: false
parallelism.default: 1
jobmanager.web.port: 8081
taskmanager.tmp.dirs: /apps/storage/runtime/flink/workspace
recovery.mode: zookeeper
recovery.zookeeper.quorum:zk1:2181, zk2:2181, zk3:2181
recovery.zookeeper.storageDir: /apps/runtime/flink/recovery
env.java.home: /apps/java/
然后我在配置文件夹中有一个名为 slaves 的文件,其中包含从节点列表。
flSlave1
flSlave2
flSlave3
然后我开始
../bin/start-cluster.sh
这会打开所有从属节点的 ssh 会话,并启动任务管理器。我可以用 ps ax | 看到这个grep java
我可以在 flMaster:8081 上打开 Web-Ui
在 WebUI 上,我可以看到从属节点数为 0。我没有任务管理器。
作为测试,我启动了 wordcount.jar 作业,它告诉我它不能 运行 该作业,因为没有空槽。
/apps/flink/bin/flink run /apps/flink/examples/batch/WordCount.jar
响应:
07/20/2016 13:19:01 Job execution switched to status FAILING.
org.apache.flink.runtime.jobmanager.scheduler.NoResourceAvailableException: Not enough free slots available to run the job.*
好吧我猜如果没有任务managers/slave个节点,就不会有插槽。
有人见过这个问题吗?
尝试在 jobmanager 机器的 rpc 端口上进行远程登录。 taskmanagers 通过 rpc 与 jobmanager 对话。所以检查网络设置是否可以访问jobmanager和任务管理器的rpc端口。
同时检查 blob 服务器端口。检查 taskmanager 日志是否能够连接到 jobmanager blob 服务器。
使用完全限定的主机名而不是短名称。例如 hostname.xyx.com 而不仅仅是主机名。或者您也可以尝试使用 ip 地址。
所以我在我们的网络上安装了 apache flink 集群。我已经完成了如下所示的配置。这个Master(JobManager)启动,通过ssh向所有slave发送启动命令。我可以看到任务管理器在主节点启动后 运行ning。
所有节点上的配置文件:
jobmanager.rpc.address: flmaster
jobmanager.rpc.port: 6123
jobmanager.heap.mb: 1024
taskmanager.heap.mb: 2048
taskmanager.numberOfTaskSlots: 1
taskmanager.memory.preallocate: false
parallelism.default: 1
jobmanager.web.port: 8081
taskmanager.tmp.dirs: /apps/storage/runtime/flink/workspace
recovery.mode: zookeeper
recovery.zookeeper.quorum:zk1:2181, zk2:2181, zk3:2181
recovery.zookeeper.storageDir: /apps/runtime/flink/recovery
env.java.home: /apps/java/
然后我在配置文件夹中有一个名为 slaves 的文件,其中包含从节点列表。
flSlave1
flSlave2
flSlave3
然后我开始
../bin/start-cluster.sh
这会打开所有从属节点的 ssh 会话,并启动任务管理器。我可以用 ps ax | 看到这个grep java
我可以在 flMaster:8081 上打开 Web-Ui 在 WebUI 上,我可以看到从属节点数为 0。我没有任务管理器。 作为测试,我启动了 wordcount.jar 作业,它告诉我它不能 运行 该作业,因为没有空槽。
/apps/flink/bin/flink run /apps/flink/examples/batch/WordCount.jar
响应:
07/20/2016 13:19:01 Job execution switched to status FAILING.
org.apache.flink.runtime.jobmanager.scheduler.NoResourceAvailableException: Not enough free slots available to run the job.*
好吧我猜如果没有任务managers/slave个节点,就不会有插槽。
有人见过这个问题吗?
尝试在 jobmanager 机器的 rpc 端口上进行远程登录。 taskmanagers 通过 rpc 与 jobmanager 对话。所以检查网络设置是否可以访问jobmanager和任务管理器的rpc端口。
同时检查 blob 服务器端口。检查 taskmanager 日志是否能够连接到 jobmanager blob 服务器。
使用完全限定的主机名而不是短名称。例如 hostname.xyx.com 而不仅仅是主机名。或者您也可以尝试使用 ip 地址。