2016-07-21 30 views
1

Also habe ich einen Apache Flink Cluster in unserem Netzwerk installiert. Ich habe die Konfigurationen wie unten dargestellt vorgenommen. Dieser Master (JobManager) startet und sendet den Startbefehl per SSH an alle Slaves. Ich kann sehen, dass die Task-Manager ausgeführt werden, nachdem sie vom Master-Knoten gestartet wurden.Flink Jobmanager kann Task Manager nicht sehen

Config-Datei auf allen Knoten:

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/ 

Dann habe ich eine Datei mit dem Namen Sklaven in dem Config-Ordner mit einer Liste der Slaves Knoten.

flSlave1 
flSlave2 
flSlave3 

ich es dann starten

../bin/start-cluster.sh 

Dies entspricht einer SSH-Sitzung an alle Slave-Knoten öffnet und startet den Task-Manager. Ich kann das mit ps ax | sehen grep java

Ich kann das Web-Ui auf flMaster öffnen: 8081 Auf der WebUI kann ich sehen, die Slave-Node-Anzahl ist 0. Ich habe keine Task-Manager. Als Test habe ich den Job "wordcount.jar" gestartet und er sagt mir, dass er den Job nicht ausführen kann, da keine Slots geöffnet sind.

/apps/flink/bin/flink run /apps/flink/examples/batch/WordCount.jar 

die Antwort:

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.* 

Nun, ich denke, wenn es keine Task-Manager ist/Slave-Knoten, wird es keine Schlitze sein.

Jeder jemals dieses Thema gesehen?

Antwort

0

Versuchen Sie ein Telnet auf Jobmanager Maschine RPC Port. Die Taskmanager sprechen mit Jobmanager über RPC. Überprüfen Sie daher die Netzwerkeinstellungen, ob Sie auf die RPC-Ports des Jobmanagers und des Task Managers zugreifen können oder nicht.

Überprüfen Sie auch den Blob-Server-Port. Überprüfen Sie, ob der Taskmanager protokolliert, ob eine Verbindung zum Jobmanager-BLOB-Server hergestellt werden kann oder nicht.