Flink集群的安裝
- 1. 集群規劃
Ip | host | Server | Note |
192.168.10.101 | node01 | jobManager、TaskManagerRunner | 老大和小弟服務 |
192.168.10.102 | node02 | TaskManagerRunner | 小弟 |
192.168.10.103 | node03 | TaskManagerRunner | 小弟 |
注意:本次使用jdk-1.8.0_331和Centos 7.7,經測試jdk11 、jdk1.8.0_362和Centos 9均可使用。
2. 下載Flink的安裝包(https://archive.apache.org/dist/flink/flink-1.17.2)
3. 上傳安裝包(flink-1.17.2-bin-scala_2.12.tgz)到/home
4. 解壓安裝包到/usr/local
????????[root@node01 ~]# tar -zxvf /home/flink-1.17.2-bin-scala_2.12.tgz -C /usr/local/
5. 配置環境變量
[root@node01 ~]# vi /etc/profile
#文件末尾追加如下內容
#flink env
export FLINK_HOME=/usr/local/flink-1.17.2
export PATH=$PATH:$FLINK_HOME/bin:
6. 配置flink的masters配置文件
????????[root@node01 flink-1.17.2]# vi /usr/local/flink-1.17.2/conf/masters
????????node01:8081
7. 配置flink的workers配置文件
????????[root@node01 flink-1.17.2]# vi /usr/local/flink-1.17.2/conf/workers
????????node01
????????node02
????????node03
9. 配置flink的flink-conf.yaml配置文件
????????[root@node01 flink-1.17.2]# vi /usr/local/flink-1.17.2/conf/flink-conf.yaml
????????jobmanager.rpc.address:?node01
????????jobmanager.bind-host:?0.0.0.0
????????taskmanager.bind-host:?0.0.0.0
????????taskmanager.host:?node01
????????taskmanager.numberOfTaskSlots:?3
????????rest.address:?node01
????????rest.bind-address:?0.0.0.0
10. 分發flink集群到node02和node03
????????[root@node01 flink-1.17.2]# scp -r /usr/local/flink-1.17.2/ node02:/usr/local/
????????[root@node01 flink-1.17.2]# scp -r /usr/local/flink-1.17.2/ node03:/usr/local/
11. 在node02和node03上修改flink-conf.yaml文件內容
?#node02修改
????????[root@node02?flink-1.17.2]# vi /usr/local/flink-1.17.2/conf/flink-conf.yaml
????????taskmanager.host:?node02
#node03修改
????????[root@node03?flink-1.17.2]# vi /usr/local/flink-1.17.2/conf/flink-conf.yaml
????????taskmanager.host:?node03
12. 在node02和node03上配置環境變量
#分發
[root@node01 flink-1.17.2]# scp /etc/profile node02:/etc/
[root@node01 flink-1.17.2]# scp /etc/profile node03:/etc/
#在node02上刷新和驗證
#在node03上刷新和驗證
13. 在node01上啟動flink集群
?[root@node01 flink-1.17.2]# start-cluster.sh
?#查看進程服務???????
[root@node01 flink-1.17.2]# jps
11271 Jps
11149 TaskManagerRunner
10815 StandaloneSessionClusterEntrypoint
[root@node02 ~]# jps
4821 TaskManagerRunner
4893 Jps
[root@node03 ~]# jps
4903 Jps
4826 TaskManagerRunner
14. 查看flink的Web UI
地址:http://192.168.10.101:8081/#/overview
15. 運行flink自帶流式案例測試
#安裝nc服務
[root@node01 flink-1.17.2]# yum -y install nc#開啟6666端口監聽
[root@node01 flink-1.17.2]# nc -lk 6666#在開啟一個新的回話窗口提交作業
[root@node01 ~]# flink run /usr/local/flink-1.17.2/examples/streaming/SocketWindowWordCount.jar --hostname node01 --port 6666
#查看web ui
#先在nc監聽的端口輸入數據
#查看實時的結果
[root@node01 ~]# tail -f /usr/local/flink-1.17.2/log/flink-root-taskexecutor-*-node01.out
nihao : 1
flink : 1
hello : 1
hi : 1
hello : 1
hi : 2
hi : 1
hello : 1
16. 批次作業提交測試
#創建數據集
[root@node01 flink-1.17.2]# vi /home/words.txt
hi hello
flink hi this
shi
dfs
dfs
ni hao
hi hi
hi hi
hello
filn
Flink
#運行flink批次程序
[root@node01 flink-1.17.2]# flink run /usr/local/flink-1.17.2/examples/batch/WordCount.jar --input /home/words.txt --output /home/wc
#查看批次結果
到此為止,Flink 1.17.2 簡單的Standalone集群及測試完成!!!