前言
需要提到 Flink 中的幾個(gè)關(guān)鍵組件:客戶端(Client)瞧哟、作業(yè)管理器(JobManager)和任務(wù)管理器(TaskManager)荆隘。編寫的代碼,實(shí)際上是由客戶端獲取并做轉(zhuǎn)換烂叔,之后提交給JobManger 的隘截。所以 JobManager 就是 Flink 集群里的“管事人”,對(duì)作業(yè)進(jìn)行中央調(diào)度管理洛姑;而它獲取到要執(zhí)行的作業(yè)后上沐,會(huì)進(jìn)一步處理轉(zhuǎn)換,然后分發(fā)任務(wù)給眾多的TaskManager楞艾。這里的 TaskManager参咙,就是真正“干活的人”,數(shù)據(jù)的處理操作都是它們來做的产徊。
一昂勒、集群部署
1.1 環(huán)境配置
Flink 安裝部署的學(xué)習(xí)時(shí),需要準(zhǔn)備 3 臺(tái) Linux 機(jī)器舟铜。具體要求如下:
- 系統(tǒng)環(huán)境為 CentOS 7.5 版本戈盈。
- 安裝 Java 8。
- 安裝 Hadoop 集群谆刨,Hadoop 建議選擇 Hadoop 2.7.5 以上版本塘娶。筆者這里用的Hadoop 3.1.3。
- 配置集群節(jié)點(diǎn)服務(wù)器間時(shí)間同步以及免密登錄痊夭,關(guān)閉防火墻刁岸。
1.2 集群節(jié)點(diǎn)
節(jié)點(diǎn)服務(wù)器 | hadoop102 | hadoop103 | hadoop104 |
---|---|---|---|
ip | 192.168.10.102 | 192.168.10.103 | 192.168.10.104 |
角色 | JobManager | TaskManager | TaskManager |
1.3 下載并解壓安裝包
進(jìn)入 Flink 官網(wǎng),下載 1.13.0 版本安裝包 flink-1.13.0-bin-scala_2.12.tgz她我,注意此處選用對(duì)應(yīng) scala 版本為 scala 2.12 的安裝包虹曙。
https://flink.apache.org/zh/downloads.html
- 1迫横、解壓到/opt/module目錄下
[root@hadoop102 flink]$ tar -zxvf flink-1.13.0-bin-scala_2.12.tgz -C /opt/module/
- 2、進(jìn)入/opt/module下 的Flink 目錄下
[root@hadoop102 flink-1.13.0]$ cd /opt/module/flink-1.13.0
- 3酝碳、進(jìn)入conf目錄中
[root@hadoop102 flink-1.13.0]$ cd /conf
- 4矾踱、配置flink-conf.yaml文件
[root@hadoop102 conf]$ vim flink-conf.yaml
# jobManager 的IP地址
jobmanager.rpc.address: 主機(jī)名
# 每個(gè)TaskManager 提供的任務(wù) slots 數(shù)量大小
# 它的意思是當(dāng)前task能夠同時(shí)執(zhí)行的線程數(shù)量 (實(shí)際生產(chǎn)環(huán)境建議是CPU核心-1,這里筆者寫2)
taskmanager.numberOfTaskSlots: 2
- 5疏哗、配置workers文件(根據(jù)實(shí)際環(huán)境設(shè)置)
hadoop102:8081
- 6呛讲、配置slave文件(根據(jù)實(shí)際環(huán)境設(shè)置)
hadoop103
hadoop104
*7、分發(fā)其他機(jī)器
[root@hadoop102 conf]$ xsync /opt/module/flink-1.13.0
- 8返奉、啟動(dòng)集群
[root@hadoop102 flink-1.13.0]$ bin/start-cluster.sh
-
9贝搁、Web UI 默認(rèn)端口 https://hadoop102:8081 (與azkaban端口沖突)
10、關(guān)閉集群
[root@hadoop102 flink-1.13.0]$ bin/stop-cluster.sh
二芽偏、向集群提交作業(yè)
-
1雷逆、打包jar
-
2、打包完成后哮针,在target目錄下即可找到所需 jar 包
3关面、在 Web UI 上提交作業(yè)
任務(wù)打包完成后,我們打開 Flink 的 WEB UI 頁(yè)面十厢,在右側(cè)導(dǎo)航欄點(diǎn)擊“Submit New Job”等太,然后點(diǎn)擊按鈕“+ Add New”,選擇要上傳運(yùn)行的 JAR 包
- 4蛮放、提交之后查看情況缩抡,發(fā)現(xiàn)都是綠色,則代表任務(wù)成功
-
5包颁、從Task Manager -> Stdout 這里可以看到Flink 的 UI頁(yè)面控制臺(tái)的效果
三瞻想、命令行提交
命令行啟動(dòng)作業(yè)之前,首先開啟Flink集群娩嚼, 之后將端口打開蘑险,將 jar 包放入 Linux中,最后輸入如下命令
bin/flink run \
-m hadoop102:8081 \
-c com.hao.wc.StreamWordCount ./Flink_1.13-1.0-SNAPSHOT.jar
這里的參數(shù) –m 指定了提交到的 JobManager岳悟,-c 指定了入口類佃迄。
用 netcat 輸入數(shù)據(jù),可以在 TaskManager 的標(biāo)準(zhǔn)輸出(Stdout)看到對(duì)應(yīng)的統(tǒng)計(jì)結(jié)果
參考:
https://blog.csdn.net/weixin_45417821/article/details/124037866