1.2 Flink單機部署
Flink系統環境要求:
1.Flink可以運作在類UNIX系統上,比如:Linux,Mac OS X,Cygwin (for Windows)
2.Flink使用Java開發,依賴JDK版本:Java 8 或者11
1.下載下傳Flink軟體包
Flink源碼是使用Java和Scala混合編寫,針對使用的Scala版本不同,官網網站提供了scala_2.11和scala_2.12兩個版本軟體包,下載下傳位址:https://flink.apache.org/downloads.html。本書内容都基于flink-1.14.x-bin-scala_2.12.tgz版本,并且使用CentOS Linux release 7.9作業系統進行講解示範,如果有另外标注情況除外。
2.解壓Flink軟體包以及目錄說明
tar zxvf flink-1.14.3-bin-scala_2.12.tgz -C /opt/
執行上面指令會把Flink解壓到/opt目錄下,解壓完成後目錄結構如下圖
[root@localhost ~]# cd /opt/flink-1.14.3/
[root@localhost flink-1.14.3]# ll
總用量 480
drwxrwxr-x. 2 1000 1000 4096 9月 22 21:23 bin
drwxrwxr-x. 2 1000 1000 263 9月 22 21:23 conf
drwxrwxr-x. 7 1000 1000 76 9月 22 21:23 examples
drwxrwxr-x. 2 1000 1000 4096 9月 22 21:23 lib
-rw-r--r--. 1 1000 1000 11357 10月 29 2019 LICENSE
drwxrwxr-x. 2 1000 1000 4096 9月 22 21:23 licenses
drwxr-xr-x. 2 1000 1000 6 9月 15 19:52 log
-rw-rw-r--. 1 1000 1000 458497 9月 22 21:23 NOTICE
drwxrwxr-x. 3 1000 1000 4096 9月 22 21:23 opt
drwxrwxr-x. 10 1000 1000 210 9月 22 21:23 plugins
-rw-r--r--. 1 1000 1000 1309 1月 30 2021 README.txt
和大多數開源項目一樣,Flink有bin、conf、lib、log目錄,各目錄功能說明:
- bin目錄用于存放啟動、停止相關腳本檔案。例如start-cluster.sh、yarn-session.sh、kubernetes-session.sh、start-zookeeper-quorum.sh等
- conf目錄用于存放配置檔案。例如flink-conf.yaml、masters、workers、log4j.properties等
- lib目錄用于存放依賴的二進制jar包。該目錄下隻有flink-dist_2.12-1.14.3.jar、flink-table_2.12-1.14.3.jar、flink-csv-1.14.3.jar、flink-shaded-zookeeper-3.4.14.jar、log4j-slf4j-impl-2.14.1.jar等檔案
- log目錄用于存放運作産生的日志檔案。包括JobManager、TaskManager日志資訊
3.配置JAVA_HOME環境變量,編輯/etc/profile檔案,根據JDK安裝路徑JAVA_HOME。
export JAVA_HOME=/usr/java/jdk1.8.0
export PATH=$PATH:$JAVA_HOME/bin
執行source /etc/profile讓變更生效,驗證是否生效
[root@localhost ~]# echo $JAVA_HOME
/usr/java/jdk1.8.0
JAVA_HOME既可以通過修改作業系統環境變量來配置,也可以通過修改flink-conf.yaml檔案來配置。如果都配置了則flink-conf.yaml優先級更高。打開檔案flink-conf.yaml增加或修改配置項env.java.home輸入jdk路徑即完成配置
env.java.home: /usr/java/jdk1.8.0
4.啟動Flink。進入安裝目錄執行./bin/start-cluster.sh啟動單機模式
[root@localhost flink-1.14.3]# ./bin/start-cluster.sh
Starting cluster.
Starting standalonesession daemon on host localhost.localdomain.
Starting taskexecutor daemon on host localhost.localdomain.
[root@localhost flink-1.14.3]#
執行上面指令啟動Flink單機模式,如果啟動成功可以看到有2個flink相關程序,其中一個程序是jobmanager,它負責叢集的任務協調,另外一個程序是taskmanager,它負責運作具體的任務作業,後續章節會詳細闡述jobmanager、taskmanager職責
在linux系統運作jdk提供的jps -l指令,能看到兩個程序的入口類:
[root@localhost flink-1.14.3]# jps -l
20886 org.apache.flink.runtime.taskexecutor.TaskManagerRunner
20615 org.apache.flink.runtime.entrypoint.StandaloneSessionClusterEntrypoint
21039 sun.tools.jps.Jps
6.從浏覽器通路http://host1.test.com:8081頁面,如果能看到如下圖的Flink web管理頁面,則證明Flink啟動成功。
如果有任何疑問歡迎留言,筆者頭條号與公衆号同名:小圈資料