flink on yarn 高可用部署

Flink-conf.yaml

high-availability: zookeeper

high-availability.zookeeper.quorum: localhost:2181

high-availability.storageDir: hdfs:///flink/recovery

high-availability.zookeeper.path.root: /flink

yarn.application-attempts: 10

 

Yarn-site.xml

<property>

<name>yarn.resourcemanager.am.max-attempts</name>

<value>4</value>

<description>

The maximum number of application master execution attempts.

</description>

</property>

這裏yarn.application-attempts中的值不能超過yarn-site.xml裏的yarn.application-attempts值,flink on yarn的高可用是利用container失敗後,yarn自動重啓container,與傳統的stand-by模式不一樣,傳統的stand-by高可用是啓用多個master,一個master掛了後,從其餘的master裏選舉出新的master,從而保證系統的高可用,從理論上講,只要一直有備用的master,系統就一直是可用的,yarn的重啓機制是有次數限制的,超過yarn.application-attempts指定的值後,失敗後就直接失敗了

在flink高可用下,container失敗對jobmanager和taskmanager的影響

如果失敗的次數低於yarn.application-attempts,jobmanager會自動恢復,並自動重啓flink上所有的任務;如果超出yarn.application-attempts次數,則所有的任務都會失敗

運行taskmanager的container失敗,如果任務裏啓用了checkpoint機制,flink會自動啓動任務,與yarn.application-attempts的值沒有關係;

 如果沒有啓用checkpoint,container失敗,任務也就失敗了,因此在寫flink任務時,建議在flink程序中啓用checkpoint機制

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章