1. HA 集群环境规划
flink on yarn 的HA 其实是利用yarn 自己的恢复机制。在这需要用到zk,主要是因为虽然flink-on-yarn cluster HA 依赖于Yarn 自己的集群机制,但是Flink Job 在恢复时,需要依赖检查点产生的快照,而这些快照虽然配置在hdfs,但是其元数据信息保存在zookeeper 中,所以我们还要配置zookeeper 的信息
2. 开始配置+启动
首先需要修改hadoop 中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>
把修改后的配置文件同步到hadoop 集群的其他节点
3、修改flink 部分相关配置
修改配置文件 flink-conf.yaml
vi conf/flink-conf.yaml
high-availability: zookeeper
high-availability.zookeeper.quorum: hadoop00:2181
high-availability.storageDir: hdfs://hadoop00:9000/flink/ha-yarn
high-availability.zookeeper.path.root: /flink-yarn
yarn.application-attempts: 10
4、启动flink on yarn,测试HA
先启动hadoop00 上的zookeeper 和hadoop
bin/zkServer.sh start
sbin/start-all.sh
在hadoop00 上启动Flink 集群
bin/yarn-session.sh -n 2