2017-09-29 9 views
2

Zookeeper를 사용하여 Flink를 HA 모드에서 실행하려고 시도하지만 리더 JobManager를 죽여서 테스트하려고하면 모든 대기 jobmanagers도 종료됩니다.Flink : HA 모드에서 주요 jobmanager를 대기중인 jobmanagers를 종료합니다.

그래서 새로운 리더로 대신하는 대기 jobmanager 대신, 그들은 모두 일어날 일이 아닌 죽을 것입니다.

내 설정 : 서버 4 개, 서버 3 대는 사육사가 있지만 서버 1대로 모든 JobManager를 호스팅합니다.

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

내 마스터 파일은 다음과 같다 :

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

내 FLINK-conf.yaml : 나는 start-cluster.sh 스크립트를 사용하여 FLINK을 실행하면

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 

내가보고 내 3 명의 JobManagers가 실행 중이며 WebUI로 이동하면 모두 leader 인 ad011.local : 8081을 가리 킵니다. 내가 옳은 것 같네?

그런 다음 kill을 사용하여 리더를 강제 종료하여 장애 조치를 테스트 한 다음 다른 모든 대기 JobManager도 중지합니다.

이 내 대기 JobManager 로그에 표시되는 내용입니다 :

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 

어떤 도움을 주시면 감사하겠습니다.

답변

2

서비스 파일 (동일한 스크립트를 호출 함) 대신 ./bin/start-cluster.sh를 사용하여 클러스터를 실행하면 서비스 파일이 다른 jobmanagers를 명백하게 종료합니다.