Flink源碼分析 - 源碼構建

本篇文章首發於頭條號Flink源碼分析 - 源碼構建,歡迎關注個人頭條號和微信公衆號「大數據技術和人工智能」(微信搜索bigdata_ai_tech)獲取更多幹貨,也歡迎關注個人CSDN博客java


本篇介紹一下如何從源碼構建Flink,構建Flink源碼是學習和研究Flink源碼的基礎,有助於更好的瞭解Flink。git

環境準備

環境/軟件 版本 備註
OS Ubuntu 14.04 LTS
Maven 3.0.5
Java 1.8.0_161
Flink 1.8

構建前先確認下Maven和JDK版本,至少須要Maven 3.x和Java 8才能構建。github

構建源碼

具體步驟以下:web

#先查看下maven和Java版本
#mvn -v
#java -version
#下載源碼
git clone https://github.com/apache/flink.git
#進入源碼目錄
cd flink
#切換到一個穩定分支
git checkout release-1.8
#構建源碼
#-DskipTests跳過執行測試程序
#-Dfast跳過測試、QA插件和JavaDocs,加快構建速度
#建議加上-Dfast參數,避免在構建的過程當中會遇到各類各樣的問題
mvn clean install -DskipTests -Dfast

看到下面輸出表示構建成功了。shell

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 12:03.086s
[INFO] Finished at: Wed Apr 24 10:38:46 CST 2019
[INFO] Final Memory: 478M/1300M
[INFO] ------------------------------------------------------------------------

至此,Flink就構建成功了。apache

測試

Flink已經構建好了,這裏用 SocketWindowWordCount 的例子來測試一下,看看是否能夠正常執行。首先按照下面的步驟啓動Flink。ubuntu

#在源碼目錄下執行
./build-target/bin/start-cluster.sh
#執行後輸出以下,表示啓動成功
Starting cluster.
Starting standalonesession daemon on host ubuntu.
Starting taskexecutor daemon on host ubuntu.

啓動成功後能夠打開http://127.0.0.1:8081看到Flink的web UI,以下圖所示。微信

使用nc命令監聽指定端口。session

nc -l 9002
#而後隨便輸入點東西,好比像下面這樣
#這些東西在提交 SocketWindowWordCount Job以前或以後輸入都是能夠的
hello world
word count
hi
flink
ha ha

運行Flink測試example,這裏用Flink WordCount Job來測試一下。maven

#在源碼目錄下執行,指定9002端口,這個端口要和剛剛 nc 命令監聽的端口一致
./build-target/bin/flink run ./build-target/examples/streaming/SocketWindowWordCount.jar --port 9002

查看SocketWindowWordCount Job的輸出。

#在源碼目錄下執行
tail -100f ./build-target/log/flink-*-taskexecutor-0-*.out
#執行後輸出以下
hello : 1
world : 1
word : 1
count : 1
hi : 1
flink : 1
ha : 2

也能夠在Flink web UI裏查看輸出,以下圖所示。

相關文章
相關標籤/搜索