超詳細,Windows系統搭建Flink官方練習環境

獨孤風發表於2020-09-07

如何快速的投入到Flink的學習當中,很多人在搭建環境過程中浪費了太多的時間。一套一勞永逸的本機Flink開發環境可以讓我們快速的投入到Flink的學習中去,將精力用在Flink的原理,實戰。這也對於工作和麵試有著巨大幫助。

​ 本文將利用Flink的官方練習環境,在本地Windows系統中快速的搭建Flink環境,並詳細的記錄整個搭建過程。

文中所有的安裝包可以在後臺回覆 “flink0907” 獲取

Flink的環境搭建需要一定的時間,有多種方法可以在各種環境中部署和操作Apache Flink。不管這種多樣性如何,Flink群集的基本組成都相同,並且適用類似的操作原理。

如何快速的搭建一套Flink與Kafka的本地環境,供我們開發學習使用呢?

Flink官網提供了一個環境,在這個環境中可以學習如何管理和執行Flink Jobs。可以學習如何部署和監視應用程式,體驗Flink如何從作業失敗中恢復,以及執行日常操作任務,例如升級和縮放。

Flink官方提供了一套學習環境,本文將詳細介紹這套環境的搭建與使用過程。

此環境由一個Flink 叢集和一個Kafka群集組成。

Flink群集始終由一個Flink Master 和一個或多個 Flink TaskManager 組成。Flink Master負責處理作業提交,作業的監督以及資源管理。Flink TaskManager是工作程式,負責執行構成Flink作業的實際任務執行。

啟動時,名為Flink Event Count的Flink作業將提交給JobManager。此外,還將建立兩個Kafka Topics 輸入輸出

git

https://git-scm.com/downloads

初始化

git config user.name "jack"(配置使用者名稱)

(檢視使用者名稱命令git config user.name)

git config user.email "8888888@qq.com"(配置郵箱)

(檢視郵箱命令git config user.email)

docker

首先登陸docker官網,下載相應的docker安裝包。

https://www.docker.com/get-started

大概300多M,耐心等待~

首先,在本機安裝git環境。

下載flink-playgrounds原始碼。

git clone --branch release-1.11 https://github.com/apache/flink-playgrounds.git

進行安裝

Docker可以幫我們開啟Hyper-V

等待安裝成功

cd flink-playgrounds/operations-playground
docker-compose build

開始構建環境,需要下載的內容較多,耐心等待~

最終下載成功

啟動環境

docker-compose up -d

也需要下載一會等待啟動成功

檢視正在執行的docker容器

docker-compose ps

請注意flink webUI監聽的埠,我的為8081

檢視管理頁面

通過http://localhost:8081訪問Flink管理頁面

大功告成了~ 下次開機的時候,

cd flink-playgrounds/operations-playground
docker-compose up -d
docker-compose ps

就可以非常方便的開啟Flink的研發環境了~

下面列舉一些簡單的操作。

常見操作

如果需要停止開發環境

docker-compose down -v

檢視日誌

JobManager日誌可以通過新增docker-compose檢視

docker-compose logs -f jobmanager

TaskManager日誌也可以

docker-compose logs -f taskmanager

Flink CLi

docker-compose run --no-deps client flink --help

Flink RestAPI

curl localhost:8081/jobs

Kafka 操作命令

//input topic (1000 records/s)
docker-compose exec kafka kafka-console-consumer.sh \
  --bootstrap-server localhost:9092 --topic input

//output topic (24 records/min)
docker-compose exec kafka kafka-console-consumer.sh \
  --bootstrap-server localhost:9092 --topic output

具體操作

列出正在執行的作業

docker-compose run --no-deps client flink list

觀察故障與恢復

1、觀察輸出

docker-compose exec kafka kafka-console-consumer.sh \
  --bootstrap-server localhost:9092 --topic output

2、模擬故障

這裡模擬TaskManager程式的丟失

docker-compose kill taskmanager

幾秒鐘後,JobManager將注意到TaskManager丟失,取消受影響的Job,然後立即重新提交以進行恢復。

3、恢復

docker-compose up -d taskmanager

重新啟動TaskManager後,它將重新連線到JobManager

更多Flink,Kafka,Spark等相關技術博文,科技資訊,歡迎關注實時流式計算 公眾號後臺回覆 “電子書” 下載300頁Flink實戰電子書

相關文章