2017-09-29 9 views
2

J'essaye de faire fonctionner Flink en mode HA en utilisant Zookeeper, mais quand j'essaye de le tester en tuant le JobManager leader, tous mes jobmanagers en veille sont également tués. Au lieu de prendre la relève en tant que nouveau chef, un jobmanager en attente est tué, ce qui n'est pas supposé se produire.Flink: le mode HA détruit les principaux jobmanagers en attente de jobmanager

Mon installation: 4 serveurs, 3 de ces serveurs ont Zookeeper en cours d'exécution, mais un seul serveur hébergera tous les JobManagers.

ad011.local: Zookeeper + Jobmanagers 
ad012.local: Zookeeper + Taskmanager 
ad013.local: Zookeeper 
ad014.local: nothing interesting 

Mon fichier maîtres ressemble à ceci:

ad011.local:8081 
ad011.local:8082 
ad011.local:8083 

Mon Flink-conf.yaml:

jobmanager.rpc.address: ad011.local 

blob.server.port: 6130,6131,6132 

jobmanager.heap.mb: 512 
taskmanager.heap.mb: 128 
taskmanager.numberOfTaskSlots: 4 
parallelism.default: 2 
taskmanager.tmp.dirs: /var/flink/data 

metrics.reporters: jmx 
metrics.reporter.jmx.class: org.apache.flink.metrics.jmx.JMXReporter 
metrics.reporter.jmx.port: 8789,8790,8791 

high-availability: zookeeper 
high-availability.zookeeper.quorum: ad011.local:2181,ad012.local:2181,ad013.local:2181 

high-availability.zookeeper.path.root: /flink 
high-availability.zookeeper.path.cluster-id: /cluster-one 
high-availability.storageDir: /var/flink/recovery 
high-availability.jobmanager.port: 50000,50001,50002 

Quand je lance Flink en utilisant le script start-cluster.sh je vois mon 3 JobManagers en cours d'exécution, et aller à l'WebUI ils pointent tous vers ad011.local: 8081, qui est le leader. Ce qui est ok je suppose? J'essaye ensuite de tester le basculement en tuant le chef en utilisant kill, puis tous mes autres JobManagers en attente s'arrêtent aussi.

C'est ce que je vois dans mes journaux JobManager veille:

2017-09-29 08:08:41,590 INFO org.apache.flink.runtime.jobmanager.JobManager    - Starting JobManager at akka.tcp://[email protected]:50002/user/jobmanager. 
2017-09-29 08:08:41,590 INFO org.apache.flink.runtime.leaderelection.ZooKeeperLeaderElectionService - Starting ZooKeeperLeaderElectionService org.apa[email protected]72d546c8. 
2017-09-29 08:08:41,598 INFO org.apache.flink.runtime.webmonitor.WebRuntimeMonitor   - Starting with JobManager akka.tcp://[email protected]:50002/user/jobmanager on port 8083 
2017-09-29 08:08:41,598 INFO org.apache.flink.runtime.leaderretrieval.ZooKeeperLeaderRetrievalService - Starting ZooKeeperLeaderRetrievalService. 
2017-09-29 08:08:41,645 INFO org.apache.flink.runtime.webmonitor.JobManagerRetriever  - New leader reachable under akka.tcp://[email protected]:50000/user/jobmanager:f7dc2c48-dfa5-45a4-a63e-ff27be21363a. 
2017-09-29 08:08:41,651 INFO org.apache.flink.runtime.leaderretrieval.ZooKeeperLeaderRetrievalService - Starting ZooKeeperLeaderRetrievalService. 
2017-09-29 08:08:41,722 INFO org.apache.flink.runtime.clusterframework.standalone.StandaloneResourceManager - Received leader address but not running in leader ActorSystem. Cancelling registration. 
2017-09-29 09:26:13,472 WARN akka.remote.ReliableDeliverySupervisor      - Association with remote system [akka.tcp://[email protected]:50000] has failed, address is now gated for [5000] ms. Reason: [Disassociated] 
2017-09-29 09:26:14,274 INFO org.apache.flink.runtime.jobmanager.JobManager    - RECEIVED SIGNAL 15: SIGTERM. Shutting down as requested. 
2017-09-29 09:26:14,284 INFO org.apache.flink.runtime.blob.BlobServer      - Stopped BLOB server at 0.0.0.0:6132 

Toute aide serait appréciée.

Répondre

2

Résolu en exécutant mon cluster en utilisant ./bin/start-cluster.sh au lieu d'utiliser les fichiers de service (qui appelle le même script), le fichier de service tue apparemment les autres gestionnaires de travaux.