Flink on yarn 高可用環境配置 high-availability

1. 背景

默認情況下一個flink job只啓動一個jobManager,因此存在單點故障問題,所以生產環境中需要HA。
因爲生產環境中基於yarn集羣的flink應用場景更多,本文只介紹基於yarn的flink高可用配置。

2. 配置

配置yarn集羣級別AM重啓上限

# vim yarn-site.xml

<property>
  <name>yarn.resourcemanager.am.max-attempts</name>
  <value>100</value>
</property>

配置flink HA相關

# vim /home/admin/flink-1.9.1/conf/flink-conf.yaml

high-availability: zookeeper
high-availability.storageDir: hdfs:///flink/ha/
high-availability.zookeeper.quorum: uhadoop-op3raf-master1,uhadoop-op3raf-master2,uhadoop-op3raf-core1
# 單個flink job的重試次數
yarn.application-attempts: 10

3. 啓動

方式一

啓動一個基於yarn的flink集羣

/home/admin/flink-1.9.1/bin/yarn-session.sh -n 10 -jm 10g -tm 10g -s 10 2>&1 &

提交一個flink job到上面啓動的flink集羣

/home/admin/flink-1.9.1/bin/flink run -yn 8 -yqu root.flink -ys 4 -yid application_1572318163583_50445 /home/admin/tiangx/applog_etl/jar/applog_etl-1.0-SNAPSHOT-jar-with-dependencies.jar 

方式二

在yarn上提交flink single job,直接啓動一個flink集羣

/home/admin/flink-1.9.1/bin/flink run -m yarn-cluster -yn 8 -yqu root.flink -ys 4 -ynm etl_test \
/home/admin/tiangx/applog_etl/jar_test/applog_etl-1.0-SNAPSHOT-jar-with-dependencies.jar 

4. 驗證

4.1 打開flink控制檯,可以看到jobManager在節點uhadoop-op3raf-core6
在這裏插入圖片描述

4.2 ssh到該節點,使用jps查看:

在這裏插入圖片描述

20919 YarnSessionClusterEntrypoint(ApplicationMaster)爲FlinkJobManager進程,將其kill掉

ps: flink 1.10版本JobManager進程爲:YarnJobClusterEntrypoint
在這裏插入圖片描述

4.3 刷新hadoop控制檯(下圖)可以看到jobManager在uhadoop-op3raf-core10:23999上重啓了
在這裏插入圖片描述

4.4 刷新flink控制檯,可以發現jobManager已切換
在這裏插入圖片描述

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