二、Flink環境搭建


1、standalone模式搭建

standalone模式是Flink自帶的分布式集群模式,不依賴其他的資源調度框架;

這里使用三台主機搭建,86可以免密登錄到88、89:

172.17.28.86   cs-28-86
172.17.28.88   cs-28-88
172.17.28.89   cs-28-89


image


  • 上傳flink安裝包到Linux服務器上
  • 解壓flink安裝包
[root@cs-28-86 ~]# cd /data/wym
[root@cs-28-86 ~]# tar zxf flink-1.12.0-bin-scala_2.12.tgz


  • 修改conf目錄下的flink-conf.yaml配置文件
#指定jobmanager的地址
jobmanager.rpc.address: cs-28-86

#指定taskmanager的可用槽位的數量,一般配為邏輯cpu核數或核數的2倍
taskmanager.numberOfTaskSlots: 2


  • 修改conf目錄下的workers配置文件,指定taskmanager的所在節點,這里86沒有使用:
[root@cs-28-86 flink-1.12.0]# cat conf/workers
cs-28-88
cs-28-89


  • 將配置好的Flink拷貝到其他節點的相同目錄下
scp -r flink-1.12.0 cs-28-88:/data/wym/
scp -r flink-1.12.0 cs-28-89:/data/wym/


2、 啟動flink集群和檢測

  • 執行啟動腳本
[root@cs-28-86 flink-1.12.0]# ./bin/start-cluster.sh
  • 執行jps命令查看Java進程
[root@cs-28-86 flink-1.12.0]# jps |grep StandaloneSessionClusterEntrypoint
15908 StandaloneSessionClusterEntrypoint

[root@cs-28-88 ~]# jps |grep TaskManagerRunner
32151 TaskManagerRunner

[root@cs-28-89 ~]# jps |grep TaskManagerRunner
14770 TaskManagerRunner


在172.17.28.86上可用看見StandaloneSessionClusterEntrypoint進程即JobManager,在其他的節點上可用看見到TaskManagerRunner 即TaskManager


  • 訪問JobManager的web管理界面,端口8081

172.17.28.86:8081

image


3、 提交Flink任務

第①步:獲取案例jar包,啟動nc

獲取案例jar包到本地:

image


在指定的節點上先啟動一個socket端口服務,這里可以使用nc,如果沒有可以使用 yum install -y nc 安裝,我這里是在172.17.28.86節點上啟動的;

nc -lk 8888

image


  • 第一種方式:通過web頁面提交


第②步:方法jobManager所在節點的8081端口,點擊Submint New Job

image


第③步:點擊Add New 上傳Jar包,這個示例jar包在官方給的example目錄下

image


第④步:設置參數並點擊Submit提交

image

image


此時在nc窗口中輸入一些內容:

image


然后去頁面中看計算結果:

image


測試完成,此時去停掉任務:

在Running Jobs中點擊具體的任務,然后點Cancel Job(選OK)

image


此時資源已釋放:

image


  • 第二種方式:使用命令行提交
bin/flink run -m cs-28-86:8081 -p 4 -c org.apache.flink.streaming.examples.socket.SocketWindowWordCount jar包 --hostname cs-28-86 --port 8888


參數說明:

-m 指定主機名后面的端口為JobManager的REST的端口,而不是RPC的端口,RPC通信端口是6123

-p  指定是並行度(Slots)

-c  指定main方法的全類名


在88上提交,提交完以后這個窗口可以關掉,因為任務已經提交到集群運行了:

image

出現了一個CliFrontend進程:

image

image


第⑤步:查看執行信息

image


第⑥步:在啟動nc服務的節點上輸入一下測試數據

image

第⑦步:查看執行結果

image

在點擊Stdout查看打印的結果

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM