1. 配置yarn最大重試次數(shù)yarn-site.xml:
<property>
<name>yarn.resourcemanager.am.max-attempts</name>
<value>4</value>
</property>
2. 配置Yarn重試次數(shù)
[root@hadoop2 flink-1.5.0]# vi conf/flink-conf.yaml
yarn.application-attempts: 10
此參數(shù)代表Flink Job(yarn中稱為application)在Jobmanager(或者叫Application Master)恢復時对湃,允許重啟的最大次數(shù)串远。
注意讳窟,Flink On Yarn環(huán)境中情连,當Jobmanager(Application Master)失敗時,yarn會嘗試重啟JobManager(AM)沽甥,重啟后屯换,會重新啟動Flink的Job(application)杠娱。因此挽牢,yarn.application-attempts的設置不應該超過yarn.resourcemanager.am.max-attemps.
3. 配置ZooKeeper:
[root@hadoop2 flink-1.5.0]# vi conf/flink-conf.yaml
high-availability: zookeeper
high-availability.storageDir: hdfs:///flink/ha/
high-availability.zookeeper.quorum: 10.108.4.203:2181,10.108.4.204:2181,10.108.4.205:2181
high-availability.zookeeper.path.root: /flink
high-availability.cluster-id: /cluster_yarn
4. conf/masters修改
設置要啟用JobManager的節(jié)點及端口:
10.108.4.202:8081
10.108.4.203:8081
5. conf/zoo.cfg修改
server.1=10.108.4.203:2888:3888
server.2=10.108.4.204:2888:3888
server.3=10.108.4.205:2888:3888
PS: 修改完后,使用scp命令將flink-conf.yaml摊求、masters禽拔、 zoo.cfg文件同步到其他節(jié)點:
[root@hadoop2 conf]# scp flink-conf.yaml masters zoo.cfg root@hadoop3:/opt/flink-1.5.0/conf
6. 啟動Flink Yarn Session
啟動Flink Yarn Session有2種模式:分離模式、客戶端模式
通過-d指定分離模式室叉,即客戶端在啟動Flink Yarn Session后睹栖,就不再屬于Yarn Cluster的一部分。如果想要停止Flink Yarn Application太惠,需要通過yarn application -kill 命令來停止磨淌。
我們這里采用分離模式來啟動Flink Yarn Session:
[root@hadoop2 bin]# ./yarn-session.sh -n 3 -jm 1024 -tm 1024 -s 3 -nm FlinkOnYarnSession -d -st
我們可以通過yarn的webUI查看一下當前啟動的Application:
可以看到名字是FlinkOnYarnSession,總內存6GB凿渊,運行使用的內存1GB(-jm指定了1GB)梁只,當前容器數(shù)量為3.
我們通過點擊ApplicationMaster
選項 查看Flink的WebUI:
7. 提交Job
通過CLI方式提交:
flink run -c wikiedits.Test1 toptrade-flink-1.0.jar
我們看下目前Job的JobGraph:
8. HA測試
現(xiàn)在,我們kill掉Jobmanager(AM)進程YarnApplicationMasterRunner埃脏,看看Yarn Cluster的HA情況搪锣。
[root@hadoop2 flink-1.5.0]# jps
32751 NodeManager
8911 YarnSessionClusterEntrypoint
[root@hadoop2 flink-1.5.0]# kill -9 8911
可以看到Application Attemp的ID增加了1:
我們再到mf42的$YARN_CONF_DIR(如果沒設置則在$HADOOP_CONF_DIR)下看看日志情況,當前AM的日志路徑在$HADOOP_CONF_DIR/userlogs//下彩掐,可以看出Yarn在重啟YarnApplicationMasterRunner進程构舟,并在重啟期后重新提交Flink的Job。
再次查看進程號:
[root@hadoop3 flink-1.5.0]# jps
22519 YarnSessionClusterEntrypoint
YarnApplicationMasterRunner進程號變了堵幽。
此時狗超,F(xiàn)link的WebUI又可以訪問了,而且Job被cancel掉后重新啟動了朴下。