1. 程式人生 > >flink開發實戰一:flink叢集的搭建與部署

flink開發實戰一:flink叢集的搭建與部署

flink實戰案例一:flink叢集的搭建與部署

1.下載Flink壓縮包

下載地址:http://flink.apache.org/downloads.html
根據叢集環境的情況下載相應的版本的flink壓縮包
hadoop2.6,Scala2.11,所以下載:flink-1.5.0-bin-hadoop26-scala_2.11.tgz
在這裡插入圖片描述

解壓

tar -zxf flink-1.5.0-bin-hadoop26-scala_2.11.tgz

配置

這裡面需要我們配置的有:slaves和flink-conf.yaml檔案,這裡面masters檔案是用來配置HA的,只要我們不配置HA的話,就不需要配置masters檔案(flink也是master/slave結構,但是對於此時master的選擇是執行啟動指令碼的機器為master)。但是slave需要我們配置,配置對應的主機名即可(偽分散式和分散式的區別也就是實際上slave節點的個數,以及分散式在多個節點上而已)。接下來需要我們配置的就是flink-conf.yaml,flink和spark還是有區別的,spark配置檔案分spark-env.sh和spark-default.conf檔案,而flink的配置都在flink-conf.yaml中完成配置。
在這裡插入圖片描述

flink-conf.yaml主要配置

jobmanager.rpc.address: node #配置JobManager進行RPC通訊的地址,使用預設即可
jobmanager.rpc.port: 6123 #配置JobManager進行RPC通訊的埠,使用預設即可
taskmanager.numberOfTaskSlots: 2 #配置每一個slave節點上task的數目
taskmanager.memory.preallocate: false #配置是否在Flink叢集啟動時候給TaskManager分配記憶體,預設不進行預分配,這樣在我們不適用flink叢集時候不會佔用叢集資源
parallelism.default: 2 # 用於未指定的程式的並行性和其他並行性,預設並行度
jobmanager.web.port: 5566 #指定JobManger的視覺化埠,儘量配置一個不容易衝突的埠
state.backend.fs.checkpointdir: hdfs://node:9000/flink-checkpoints #配置checkpoint目錄
fs.hdfs.hadoopconf: /home/daxin/bigdata/hadoop/etc/hadoop/ #配置hadoop的配置檔案
fs.hdfs.hdfssite: /home/daxin/bigdata/hadoop/etc/hadoop/hdfs-site.xml #訪問hdfs系統使用的

**

fs.default-scheme: hdfs://node:9000/
#設定預設檔案系統,筆者在開始搭建叢集時候由於沒設定此項導致讀“/word/hadoop.txt”無法訪問hdfs檔案系統,預設值是本地檔案系統

**
注意:flink-conf.yaml中配置key/value時候在“:”後面需要有一個空格,否則配置不會生效。

Flink叢集的啟停

.啟動flink叢集
[[email protected] flink-1.5.0]# bin/start-cluster.sh
停止flink叢集
[[email protected] flink-1.5.0]# bin/stop-cluster.sh

在這裡插入圖片描述
然後jps檢視一下程序:

5401 TaskManager

5085 JobManager

看見這兩個程序就代表啟動成功了