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

yarn.resourcemanager.am.max-attempts

4

The maximum number of application master execution attempts.

这里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机制

你可能感兴趣的:(flink)