所以我在网络上安装了一个apache flink集群。我完成了如下图所示的配置。该Master(JobManager)启动,并通过ssh将启动命令发送给所有从站。我可以看到任务管理器在主节点启动后正在运行。
在所有节点上配置文件:
dublicate id
然后我在config文件夹中有一个名为slaves的文件,其中包含一个从属节点列表。
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/
然后我开始吧
flSlave1
flSlave2
flSlave3
这将打开一个到所有从属节点的ssh会话,并启动任务管理器。我可以用ps ax |看到这个grep java
我可以在flMaster:8081上打开Web-Ui 在WebUI上,我可以看到从节点数为0.我没有任务管理器。 作为测试,我启动了wordcount.jar作业,它告诉我它无法运行作业,因为没有插槽打开。
../bin/start-cluster.sh
回应:
/apps/flink/bin/flink run /apps/flink/examples/batch/WordCount.jar
嗯,我想如果没有任务管理器/从属节点,就没有插槽。
有人见过这个问题吗?
答案 0 :(得分:2)
使用完全限定的主机名而不是短名称。例如hostname.xyx.com而不仅仅是hostname。或者您也可以尝试使用IP地址。
答案 1 :(得分:0)
尝试在jobmanager机器rpc端口上执行telnet。任务管理员通过rpc与求职者交谈。因此,检查网络设置是否能够访问作业管理器和任务管理器' rpc端口与否。
同时检查blob服务器端口。检查taskmanager日志是否能够连接到jobmanager blob服务器。