大家好,我是土哥,
今天,有位Flink初學者問我有沒有Flink的安裝教程,看到這后,土哥二話不說直接安排上,
以下教程全部使用 Flink1.13.2版本,在普通用戶下面部署:
1、Standalone部署
版本要求:
| 版本 | 節點 | 部署方式 |
|---|---|---|
| flink-1.13.2-bin-scala_2.11.tgz | 192.168.244.129 | standalone |
1.1 將軟體安裝包放入集群中

1.2、軟體包解壓
tar -zxvf flink-1.13.2-bin-scala_2.11.tgz

1.3、 配置系統環境變數
# 1、進入目錄下
cd flink-1.13.2/
# 2、查看完整classpsth,然后復制
pwd
# 3、編輯系統變數
sudo vim /etc/profile
#4、配置變數環境
export FLINK_HOME=/home/liyaozhou/lyz/flink-1.13.2
export PATH=$PATH:$FLINK_HOME/bin
#5 重繪系統變數環境
source /etc/profile
#6 查看是否配置成功
$FLINK_HOME



1.4、配置Flink conf檔案
進入到flink-1.13.2/conf目錄下
1.4.1 配置flink-conf.yaml
#1. 配置jobmanager rpc 地址
jobmanager.rpc.address: 192.168.244.129
#2. 修改taskmanager記憶體大小,可改可不改
taskmanager.memory.process.size: 2048m
#3. 修改一個taskmanager中對于的taskslot個數,可改可不改
taskmanager.numberOfTaskSlots: 4
#修改并行度,可改可不改
parallelism.default: 4

1.4.2 配置master
#修改主節點ip地址
192.168.244.129:8081
1.4.3 配置work
#修改從節點ip,因為是standalone,所有主從一樣
192.168.244.129
1.4.4 配置zoo
# 新建snapshot存放的目錄,在flink-1.13.2目錄下建
mkdir tmp
cd tmp
mkdir zookeeper
#修改conf下zoo.cfg配置
vim zoo.cfg
#snapshot存放的目錄
dataDir=/home/liyaozhou/lyz/flink-1.13.2/tmp/zookeeper
#配置zookeeper 地址
server.1=192.168.244.129:2888:3888

1.5、啟動Flink 集群
進入flink-1.13.2/bin目錄下
./start-cluster.sh


2、Standalone-HA集群部署
集群部署兩節點
| 版本 | 主節點 | 從節點 | 部署方式 |
|---|---|---|---|
| flink-1.13.2-bin-scala_2.11.tgz | 192.168.244.129 | 192.168.244.130 | standalone-HA |
| hadoop 2.6.4 | 192.168.244.129 | 192.168.244.130 | Distributed |
| zookeeper3.4.14 | 192.168.244.129 | 192.168.244.130 | Distributed |
前提是zookeeper 和 hadoop 集群全部配置好
2.1、 將軟體安裝包放入集群中

2.2、軟體包解壓
tar -zxvf flink-1.13.2-bin-scala_2.11.tgz

2.3、 配置系統環境變數
# 1、進入目錄下
cd flink-1.13.2/
# 2、查看完整classpsth,然后復制
pwd
# 3、編輯系統變數
sudo vim /etc/profile
#4、配置變數環境
export FLINK_HOME=/home/liyaozhou/lyz/flink-1.13.2
export PATH=$PATH:$FLINK_HOME/bin
#5、添加hadoop_conf classpath
export HADOOP_CONF_DIR=/home/liyaozhou/lyz/hadoop-2.6.4/etc/hadoop
#6 重繪系統變數環境
source /etc/profile
#7 查看是否配置成功
$FLINK_HOME



2.4、配置Flink conf檔案
進入到flink-1.13.2/conf目錄下
2.4.1 配置flink-conf.yaml
#1. 配置jobmanager rpc 地址
jobmanager.rpc.address: 192.168.244.129
#2. 修改taskmanager記憶體大小,可改可不改
taskmanager.memory.process.size: 2048m
#3. 修改一個taskmanager中對于的taskslot個數,可改可不改
taskmanager.numberOfTaskSlots: 4
#4. 修改并行度,可改可不改
parallelism.default: 4
#5. 配置狀態后端存盤方式
state.backend:filesystem
#6. 配置啟用檢查點,可以將快照保存到HDFS
state.backend.fs.checkpointdir: hdfs://192.168.244.129:9000/flink-checkpoints
#7. 配置保存點,可以將快照保存到HDFS
state.savepoints.dir: hdfs://192.168.244.129:9000/flink-savepoints
#8. 使用zookeeper搭建高可用
high-availability: zookeeper
#9. 配置ZK集群地址
high-availability.zookeeper.quorum: 192.168.244.129:2181
#10. 存盤JobManager的元資料到HDFS
high-availability.storageDir: hdfs://192.168.244.129:9000/flink/ha/
#11. 配置zookeeper client默認是 open,如果 zookeeper security 啟用了更改成 creator
high-availability.zookeeper.client.acl: open


2.4.2 配置master
#修改主節點ip地址
192.168.244.129:8081
2.4.3 配置work
#修改從節點ip,因為是standalone-ha,改另一個節點
192.168.244.130
2.4.4 配置zoo
# 新建snapshot存放的目錄,在flink-1.13.2目錄下建
mkdir tmp
cd tmp
mkdir zookeeper
#修改conf下zoo.cfg配置
vim zoo.cfg
#snapshot存放的目錄
dataDir=/home/liyaozhou/lyz/flink-1.13.2/tmp/zookeeper
#配置zookeeper 地址
server.1=192.168.244.129:2888:3888

2.5、下載hadoop依賴包
下載地址:https://flink.apache.org/downloads.html#additional-components
將包復制到flink-1.13.2/lib目錄下

2.6、 檔案傳輸
將主節點flink包復制到從節點
scp -r flink-1.13.2 192.168.244.130:/home/liyaozhou/lyz/

修改從節點 flink-conf.yaml rpc 的ip地址

2.7、啟動Flink 集群
進入flink-1.13.2/bin目錄下
./start-cluster.sh


可以在登錄界面看到,TaskManager的地址為192.168.244.130

3、Flink On Yarn集群部署
集群部署兩節點
| 版本 | 主節點 | 從節點 | 部署方式 |
|---|---|---|---|
| flink-1.13.2-bin-scala_2.11.tgz | 192.168.244.129 | 192.168.244.130 | yarn |
| hadoop 2.6.4 | 192.168.244.129 | 192.168.244.130 | Distributed |
| zookeeper3.4.14 | 192.168.244.129 | 192.168.244.130 | Distributed |
前提是zookeeper 和 hadoop 集群全部配置好
3.1 修改Hadoop集群的yarn-site.xml檔案
YARN模式下的HA需要注意一點,官方給出建議,必須要增加以下兩項配置:
YARN配置,修改yarn-site.xml
<!-- master(JobManager)失敗重啟的最大嘗試次數-->
<property>
<name>yarn.resourcemanager.am.max-attempts</name>
<value>4</value>
<description>
The maximum number of application master execution attempts.
</description>
</property>
<!-- 關閉yarn記憶體檢查 -->
<!-- 是否啟動一個執行緒檢查每個任務正使用的虛擬記憶體量,如果任務超出分配值,則直接將其殺掉,默認為 true -->
<!-- 因為對于 flink 使用 yarn 模式下,很容易記憶體超標,這個時候 yarn 會自動殺掉 job,因此需要關掉-->
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
3.2 修改flink conf配置
在flink-conf.yaml中添加如下兩項:
#用戶提交作業失敗時,重新執行次數
yarn.application-attempts: 4
#設定Task在所有節點平均分配
cluster.evenly-spread-out-slots: true

3.3 啟動測驗(Session模式)
3.3.1 啟動 Flink 會話(在192.168.244.129上測驗)
# 主節點中執行
bin/yarn-session.sh -d -jm 1024 -tm 1024 -s 1
# -tm 表示每個 TaskManager 的記憶體大小
# -s 表示每個 TaskManager 的 slots 數量
# -d 表示以后臺程式方式運行

3.3.2 登錄yarn集群頁面查看
登錄網址:192.168.244.129:8088/cluster

3.3.3 在yarn上提交任務 通過session模式
注意:此時提交的任務都通過該會話(Session)執行,不會再申請 yarn 資源
(1)創建一個wordcount.txt文本,隨便早一些資料,然后放到flink-1.13.2下面,然后將該檔案傳到hdfs中
hadoop fs -copyFromLocal wordcount.txt /

(2)提交任務
# 192.168.244.129 中執行即可
bin/flink run examples/batch/WordCount.jar --input hdfs://192.168.244.129:9000/wordcount.txt

3.3.3 查看 Hadoop 的 ApplicationManager 的 WEB-UI 頁面


3.3.4 關閉Session模式
yarn application -kill application_1631862788541_0001

3.4 啟動測驗(Per-job模式)
3.4.1 直接提交 Job
# -m jobmanager 的地址
# -yjm 1024 指定 jobmanager 的記憶體資訊
# -ytm 1024 指定 taskmanager 的記憶體資訊
bin/flink run \
-t yarn-per-job -yjm 1024 -ytm 1024 \
--detached examples/batch/WordCount.jar \
--input hdfs://192.168.244.129:9000/wordcount.txt


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/302198.html
標籤:其他
