天天看點

1.2 Flink單機部署《Flink核心源碼解讀》

作者:小圈資料

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啟動成功。

1.2 Flink單機部署《Flink核心源碼解讀》

如果有任何疑問歡迎留言,筆者頭條号與公衆号同名:小圈資料

繼續閱讀