學習緻謝
https://www.bilibili.com/video/BV1Gt4y1z7bR?p=3
原理
1.Flink程式由JobClient進行送出
2.Jobclient将作業送出給JobManager
3.JobManager負責協調資源配置設定和作業執行。資源配置設定完成後,任務将送出給相應的TaskManager
4.TaskManager啟動一個線程以開始執行。TaskManager會向JobManager報告狀态更改,如開始執行,正在進行或已完成。
5.作業執行完成後,結果将發送回用戶端(JobClient)
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAnYldHL0FWby9mZvwFN4ETMfdHLkVGepZ2XtxSZ6l2clJ3LcV2Zh1Wa9M3clN2byBXLzN3btgHL9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsQTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SM1ADM4QjY3AjN4Y2NxIjNzYzX4QDMxUTMyAzLcFTMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
操作
1.下載下傳安裝包
https://archive.apache.org/dist/flink/ 2.上傳
flink-1.12.0-bin-scala_2.12.tgz
到node1的指定目錄
3.解壓
tar -zxvf flink-1.12.0-bin-scala_2.12.tgz
4.如果出現權限問題,需要修改權限
chown -R root:root /export/server/flink-1.12.0
5.改名或建立軟連結
mv flink-1.12.0 flink
ln -s /export/server/flink-1.12.0 /export/server/flink
測試
1.準備檔案/root/words.txt
vim /root/words.txt
⒉.啟動Flink本地"叢集”
/export/server/flink/bin/start-cluster.sh
3.使用jps可以檢視到下面兩個程序
- TaskManagerRunner
- StandaloneSessionClusterEntrypoint
4.通路Flink的Web UI
http://node1:8081/#/overview
slot在Flink裡面可以認為是資源組,Flink是通過将任務分成子任務并且将這些子任務配置設定到slot來并行執行程式。
5.執行官方示例
/export/server/f1ink /bin/f1ink run
/export/server/f1ink /examples/batch/wordcount.jar --input /root/words.txt --output /root/out
6.停止Flink
/export/server/flink/bin/stop-cluster.sh
啟動shell互動式視窗(目前所有Scala 2.12版本的安裝包暫時都不支援Scala Shell)
/export/server/flink/bin/start-scala-shell.sh local
benv.readTextFi1e(" /root/words.txt").f1atMap( .split(""
")).map((-,1)). groupBy(O). sum(1).print()
:quit