如何快速的投入到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
初始化
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實戰電子書