文章目錄
- Flink集群部署centos7
- 1 模板虛擬機環境準備
- 1.1 安裝epel-release
- 1.2 linux 安裝的是最小系統則安裝一下插件
- 1.3 關閉防火墻,關閉防火墻開機自啟
- 1.4 創建一個用戶develop
- 1.5 配置develop用戶具有root權限,方便后期加sudo執行root權限的命令
- 1.6 在/opt目錄下創建檔案夾,并修改所屬主和所屬組
- 1.7 卸載虛擬機自帶的JDK
- 1.8 安裝JDK
- 1.9 重啟虛擬機
- 2 克隆虛擬機
- 2.1 克隆
- 3 安裝
- 3.1 集群部署規劃
- 3.1 下載
- 3.2 上傳解壓
- 3.3 flink1 修改組態檔
- 3.1 masters
- 3.1 slaves
- 3.3 flink-conf.yaml 修改
- 3.4 分發設定
- 3.4.1 免密登錄設定
- 3.4.2 xsync腳本撰寫
- 3.4.2 jpsall.sh
- 3.4.3 flink-cluster.sh 啟停腳本撰寫
- 3.4.4 分發
- 4 啟動
- 4.1 指令
- 4.2 結果
- 5 提交job
- 5.1 Standalone 模式
- 5.1.1 頁面手動提交
- 5.1.2 指令提交
- 5.1.3 指令取消job
Flink集群部署centos7
系統環境:CentOS-7-x86_64-DVD-2009.iso
flink版本:flink-1.7.2-bin-scala_2.11
jdk:1.8
1 模板虛擬機環境準備
1.1 安裝epel-release
相當于一個軟體倉庫
yum install -y epel-release
1.2 linux 安裝的是最小系統則安裝一下插件
# net-tool:工具包集合,包含ifconfig等命令
yum install -y net-tools
# vim:編輯器
yum install -y vim
1.3 關閉防火墻,關閉防火墻開機自啟
# 關閉防火墻
systemctl stop firewalld
# 關閉防火墻開機自啟
systemctl disable firewalld.service
1.4 創建一個用戶develop
# 創建用戶
useradd develop
# 設定develop用戶的密碼
passwd develop
...設定密碼操作
1.5 配置develop用戶具有root權限,方便后期加sudo執行root權限的命令
- 修改檔案
# 系統用戶權限組態檔
vim /etc/sudoers
- 編輯
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
## 添加配置
develop ALL=(ALL) NOPASSWD:ALL
注意:develop 這一行不要直接放到root行下面,因為所有用戶都屬于wheel組,你先配置了develop 具有免密功能,但是程式執行到%wheel行時,該功能又被覆寫回需要密碼,所以develop 要放到%wheel這行下面,
1.6 在/opt目錄下創建檔案夾,并修改所屬主和所屬組
[root@hadoop100 opt]# mkdir module
[root@hadoop100 opt]# mkdir software
[root@hadoop100 opt]# ll
總用量 0
drwxr-xr-x. 2 root root 6 9月 8 00:33 module
drwxr-xr-x. 2 root root 6 9月 8 00:33 software
[root@hadoop100 opt]# chown develop:develop /opt/module
[root@hadoop100 opt]# chown develop:develop /opt/software/
[root@hadoop100 opt]# ll
總用量 0
drwxr-xr-x. 2 develop develop 6 9月 8 00:33 module
drwxr-xr-x. 2 develop develop 6 9月 8 00:33 software
1.7 卸載虛擬機自帶的JDK
rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
- rpm -qa:查詢所安裝的所有rpm軟體包
- grep -i:忽略大小寫
- xargs -n1:表示每次只傳遞一個引數
- rpm -e –nodeps:強制卸載軟體
1.8 安裝JDK
注意:每一臺服務器均要安裝jdk
安裝步驟略
1.9 重啟虛擬機
reboot
2 克隆虛擬機
2.1 克隆
克隆三臺flink,分別修改靜態ip以及服務器名稱,如下:
192.168.10.11 flink1
192.168.10.12 flink2
192.168.10.13 flink3

3 安裝
3.1 集群部署規劃
| 服務器 | flink1 | flink2 | flink3 |
|---|---|---|---|
| 記憶體 | 1G | 1G | 1G |
| CPU | 1 | 1 | 1 |
| 組件 | StandaloneSessionClusterEntrypoint | TaskManagerRunner | TaskManagerRunner |
3.1 下載
https://archive.apache.org/dist/flink/flink-1.10.0/
3.2 上傳解壓
[develop@flin1 software]$ tar -zxvf flink-1.10.0-bin-scala_2.11.tgz -C /opt/module/
[develop@flin1 module]$ ls
flink-1.10.0-bin-scala_2.11.tgz jdk-8u301-linux-x64.tar.gz
3.3 flink1 修改組態檔
3.1 masters
標識StandaloneSessionClusterEntrypoint的配置
[develop@flink1 conf]$ vim masters
flink1:8081
3.1 slaves
標識TaskManagerRunner的配置
flink2
flink3
3.3 flink-conf.yaml 修改
# 修改jobmanager遠程地址為flink1
jobmanager.rpc.address: flink1
# 修改jobmanager堆記憶體為1G
jobmanager.heap.size: 1024m
# 修改每個taskmanager設定兩個插槽
taskmanager.numberOfTaskSlots: 2
3.4 分發設定
3.4.1 免密登錄設定
https://blog.csdn.net/qq_27242695/article/details/120236642
3.4.2 xsync腳本撰寫
#!/bin/bash
if [ $# -lt 1 ]; then
echo Not Enough Arguement!
exit;
fi
for host in flink1 flink2 flink3
do echo ==================== $host ====================
#3. 遍歷所有目錄,挨個發送
for file in $@
do
#4. 判斷檔案是否存在
if [ -e $file ]; then
#5. 獲取父目錄
pdir=$(cd -P $(dirname $file); pwd)
#6. 獲取當前檔案的名稱
fname=$(basename $file)
ssh $host "mkdir -p $pdir"
rsync -av $pdir/$fname $host:$pdir
else
echo $file does not exists!
fi
done
done
3.4.2 jpsall.sh
#!/bin/bash
for host in flink1 flink2 flink3
do
echo =============== $host ===============
ssh $host jps
done
3.4.3 flink-cluster.sh 啟停腳本撰寫
#!/bin/bash
if [ $# -lt 1 ]; then
echo "No Args Input..."
exit ;
fi
case $1 in
"start")
echo " =================== 啟動 flink集群================="
ssh flink1 "/opt/module/flink-1.10.0/bin/start-cluster.sh"
;;
"stop")
echo " =================== 關閉 flink集群 ==================="
ssh flink1 "/opt/module/flink-1.10.0/bin/stop-cluster.sh"
;;
*)
echo "Input Args Error..."
;;
esac
結果:

3.4.4 分發
# 1. 分發flink解壓檔案
[develop@flink1 bin]$ xsync /opt/module/flink-1.10.0/
# 2. 分發flink-cluster.sh, jpsall.sh, xsync
[develop@flink1 bin]$ xsync flink-cluster.sh jpsall.sh xsync
結果:
flink2, flink3檢查如下


4 啟動
任意一臺服務器執行
4.1 指令
# 啟動
flink-cluster.sh start
# 關閉
flink-cluster.sh stop
# 查看結果
jpsall.sh
4.2 結果


5 提交job
5.1 Standalone 模式
5.1.1 頁面手動提交

5.1.2 指令提交
# flink run -c 啟動方法 -p 并行度 上傳jar目錄 引數,-d 標識后端運行
./bin/flink run -d -c class.main -p 3 xxx.jar args
5.1.3 指令取消job
# 1. 列出當前的job flink list -a 后綴添加-a表示查看狀態
./bin/flink list
# 2. 取消job flink cancel jobId
./bin/flink cancel jobId
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/340677.html
標籤:其他
