1. 程式人生 > 實用技巧 >Flink 叢集搭建,Standalone,叢集部署,HA高可用部署

Flink 叢集搭建,Standalone,叢集部署,HA高可用部署

基礎環境

準備3臺虛擬機器器

配置無密碼登入

配置方法:https://ipooli.com/2020/04/linux_host/

並且做好主機對映。

下載Flink

https://www.apache.org/dyn/closer.lua/flink/flink-1.10.1/flink-1.10.1-bin-scala_2.11.tgz

並解壓縮

部署

Standalone Cluster 單機模式

啟動

進入flink-1.10.1 資料夾內

直接執行:

./bin/start-cluster.sh

叢集模式

修改配置檔案

進入flink-1.10.1 資料夾內

  • 修改./conf/flink-conf.yaml

修改如下幾個引數:

jobmanager.rpc.address: bigdata1
jobmanager.rpc.port: 6123
jobmanager.heap.size: 1024m
taskmanager.memory.process.size: 1568m
taskmanager.numberOfTaskSlots: 3
parallelism.default: 3
  • 修改./conf/masters 配置master節點

修改為:

bigdata1:8081
  • 修改./conf/slaves 配置slaves節點

修改為:

bigdata1
bigdata2
bigdata3

拷貝到其他兩臺機器


scp -r /home/admin/flink/
[email protected]
:/home/admin/ scp -r /home/admin/flink/ [email protected]:/home/admin/

啟動叢集

在 bigdata1上執行:

./bin/start-cluster.sh

隨後訪問 http://bigdata1:8081/

可以看到有3個Task Managers,1個Job Manager 為bigdata1

HA高可用模式

兩個JobManager,當主 JobManager 宕機之後,使用備用 JobManager ,等宕機的 JobManager 恢復之後,又變成備用

下載hadoop依賴包

  • 對應hadoop版本下載

我使用的hadoop版本為:hadoop-2.6.5 對應依賴包:下載

其他版本:下載

  • 把依賴包放在flink 的 lib 目錄下
  • 配置環境變數
vi /etc/profile
# 新增環境變數
export HADOOP_CONF_DIR=/home/admin/hadoop-2.6.5/etc/hadoop
# 環境變數生效
source /etc/profile

修改./conf/flink-conf.yaml 配置檔案

修改如下幾個引數

high-availability: zookeeper
high-availability.storageDir: hdfs://bigdata1/flinkha/
high-availability.zookeeper.quorum: bigdata1:2181
high-availability.zookeeper.path.root: /flink
state.checkpoints.dir: hdfs:///flink/checkpoints
state.savepoints.dir: hdfs:///flink/savepoints

啟動hdfs

關於hadoop的配置檔案與啟動方式在這就不贅述了。

啟動Flink中zookeeper

進入Flink資料夾

./bin/start-zookeeper-quorum.sh

jps 檢視是否啟動

啟動Flink

在bigdata1中執行

./bin/start-cluster.sh

檢視

分別開啟訪問:

http://bigdata1:8081/

http://bigdata2:8081/

兩個頁面都可以檢視叢集資訊

測試

  • 我們可以 kill掉bigdata1機器上的Job Manager,然後備用(bigdata2)Job Manager也是可以使用的。

  • 再啟動bigdata1的Job Manager
./bin/jobmanager.sh start

小結:本篇介紹了Flink單機,叢集,HA高可用三種部署方式。

更多文章:www.ipooli.com

掃碼關注公眾號《ipoo》