Flink1.7.2安裝部署的幾種方式


原文鏈接:https://blog.csdn.net/a_drjiaoda/article/details/88037282

 

前言:Flink的運行一般分為三種模式,即local、Standalone、On Yarn。

在安裝Flink之前,需要對安裝環境進行檢查。本文是建立在Hadoop、Zookeeper等常規大數據軟件都已經安裝成功的前體下,由於在時間環境中,常常需要Hadoop的組件配合Flink,因此我們在官網下載安裝包時,需要找到對應Hadoop版本的Flink安裝包以及系統中Scala的版本,我使用的版本是Hadoop2.8.5+scala2.11.12。scala安裝不多做贅述,只需修改一下環境變量即可,比安裝QQ還簡單。

下載Flink安裝包
下載Flink二進制包:https://flink.apache.org/downloads.html, 選擇flink-1.7.2-bin-hadoop28-scala_2.11.tgz。保存到windows下之后,使用winScp傳輸到linux系統下/usr目錄,這個目錄只是小廚將所有的系統軟件都放在這里,為了清晰的訪問各個系統的文件夾。

 

解壓安裝:使用命令 tar -zvxf flink-1.7.2-bin-hadoop28-scala_2.11.tgz對文件進行解壓,為了目錄整潔,這里使用命令將解壓完的文件重命名為flink: mv flink-1.7.2/ flink

一:local模式
Local模式比較簡單,用於本地測試,因此不多做贅述。只需在主節點上解壓安裝包就代表成功安裝了,在flink安裝目錄下使用./bin/start-cluster.sh命令,就可以通過master:8081監控集群狀態,關閉集群命令:./bin/stop-cluster.sh。

二:Standalone模式
Standalone模式顧名思義,是在本地集群上調度執行,不依賴於外部調度機制例如YARN。此時需要對配置文件進行一些簡單的修改,我們預計使用master節點當Job manage,master、slave1、slave2三台機器充當Task Managers。

1、修改環境變量,vi /etc/profile,添加以下內容

export FLINK_HOME=/usr/flink
export PATH=$FLINK_HOME/bin:$PATH
2、更改配置文件flink-conf.yaml,cd $FLINK_HOME/conf,  vi flink-conf.yaml

主要更改的位置有:
jobmanager.rpc.address: master
taskmanager.numberOfTaskSlots: 2
parallelism.default: 4
上述我們只列出了一些常用需要修改的文件內容,下面我們再簡單介紹一些

# jobManager 的IP地址
jobmanager.rpc.address: master

# JobManager 的端口號
jobmanager.rpc.port: 6123

# JobManager JVM heap 內存大小
jobmanager.heap.size: 1024m

# TaskManager JVM heap 內存大小
taskmanager.heap.size: 1024m

# 每個 TaskManager 提供的任務 slots 數量大小,默認為1

taskmanager.numberOfTaskSlots: 2

# 程序默認並行計算的個數,默認為1
parallelism.default: 4
3、配置masters文件

該文件用於指定主節點及其web訪問端口,表示集群的Jobmanager,vi masters,添加master:8081

4、配置slaves文件,該文件用於指定從節點,表示集群的taskManager。添加以下內容

master
slave1
slave2
5、分發flink服務,並在從節點環境變量文件/etc/profile中添加相關內容

scp -r /usr/flink root@slave1:/usr
scp -r /usr/flink root@slave2:/usr
6、啟動flink集群 (因為在環境變量中已經指定了flink的bin位置,因此可以直接輸入start-cluster.sh)

 

7、驗證flink進程,登錄web界面

   

由上圖可看出,在master節點上已經啟動了flink的Jobmanager和Taskmanager進程,slave節點啟動了Taskmanager進程,Flink集群的相關服務已正常啟動,下面查看Web界面是否正常,登錄配置的master的ip地址+端口號:192.168.83.129:8081,flink cluster情況如下:

 

至此,standalone模式已成功安裝。

注:這里只是集群模式而已,在實際場景中,我們一般需要配置為HA,防止Jobmanager突然掛掉,導致整個集群或者任務執行失敗的情況發生。下面介紹一下Standalone HA模式的搭建安裝

三、Standalone HA模式
當Flink程序運行時,如果jobmanager崩潰,那么整個程序都會失敗。為了防止jobmanager的單點故障,借助於zookeeper的協調機制,可以實現jobmanager的HA配置—-1主(leader)多從(standby)。這里的HA配置只涉及standalone模式,yarn模式暫不考慮。 

本例中規划Jobmanager:master,slave1(一個active,一個standby);Taskmanager:slave1,slave2;zookeeper集群。

1、更改flink-conf.yaml配置文件

1.jobmanager端口
jobmanager.web.port: 8081(需要防止端口沖突)
1.jobmanager地址
注釋jobmanager.rpc.address:flink配置項
HA模式下,jobmanager不需要指定,在master file中配置,由zookeeper選出leader與standby。

2.checkpoints目錄
檢查點生成的分布式快照的保存地點,默認是jobmanager的memory,但是HA模式必須配置在hdfs上,
且保存路徑需要在hdfs上創建並指定路徑
state.backend: filesystem
state.backend.fs.checkpointdir: hdfs://192.168.83.129:9000/flink-metadata/checkpoints

3.hadoopconf路徑:
指定hadoop conf路徑,這里需要告訴Flink,hadoop配置的路徑,否則會報錯
fs.hdfs.hadoopconf: $HADOOP_HOME/etc/hadoop

4.zookeeper信息
recovery.mode: zookeeper
recovery.zookeeper.quorum: master:2181,slave1:2181,slave2:2181
recovery.zookeeper.storageDir: hdfs://192.168.83.129:9000/flink-metadata/recovery
recovery.zookeeper.path.root: /flink
recovery.zookeeper.path.namespace: /flink

配置項說明:
storageDir存儲jobmanager的元數據信息,包括用於恢復的信息;
recovery.zookeeper.path.root代表zookeeper中節點信息;
recovery.zookeeper.path.namespace,如果Flink集群有不止一個,那么這個值需要指定,不能用默認的名字
2、配置masters文件

master:8081
slave1:8081
注意: spark有個端口已經占用了8081,如果要和spark部署到同一個集群中,應當防止端口沖突

3、分發配置文件,將剛剛修改的配置文件slaves和flink-conf.yaml分發至另外兩個節點。

4、重啟flink集群:start-cluster.sh

 

四、Flink on yarn
Flink on yarn的模式適用於實際環境,最近也一直聽到很多關於flink on yarn 的消息。由於比較重要,因此單獨放一篇《Flink on Yarn模式部署始末》


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM