Flink源码分析 - 源码构建
生活随笔
收集整理的這篇文章主要介紹了
Flink源码分析 - 源码构建
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
本篇文章首發(fā)于頭條號Flink源碼分析 - 源碼構建,歡迎關注我的頭條號和微信公眾號“大數(shù)據(jù)技術和人工智能”(微信搜索bigdata_ai_tech)獲取更多干貨,也歡迎關注我的CSDN博客。
本篇介紹一下如何從源碼構建Flink,構建Flink源碼是學習和研究Flink源碼的基礎,有助于更好的了解Flink。
環(huán)境準備
| OS | Ubuntu 14.04 LTS | |
| Maven | 3.0.5 | |
| Java | 1.8.0_161 | |
| Flink | 1.8 |
構建前先確認下Maven和JDK版本,至少需要Maven 3.x和Java 8才能構建。
構建源碼
具體步驟如下:
#先查看下maven和Java版本 #mvn -v #java -version #下載源碼 git clone https://github.com/apache/flink.git #進入源碼目錄 cd flink #切換到一個穩(wěn)定分支 git checkout release-1.8 #構建源碼 #-DskipTests跳過執(zhí)行測試程序 #-Dfast跳過測試、QA插件和JavaDocs,加快構建速度 #建議加上-Dfast參數(shù),避免在構建的過程中會遇到各種各樣的問題 mvn clean install -DskipTests -Dfast看到下面輸出表示構建成功了。
[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就構建成功了。
測試
Flink已經(jīng)構建好了,這里用 SocketWindowWordCount 的例子來測試一下,看看是否可以正常執(zhí)行。首先按照下面的步驟啟動Flink。
#在源碼目錄下執(zhí)行 ./build-target/bin/start-cluster.sh #執(zhí)行后輸出如下,表示啟動成功 Starting cluster. Starting standalonesession daemon on host ubuntu. Starting taskexecutor daemon on host ubuntu.啟動成功后可以打開http://127.0.0.1:8081看到Flink的web UI,如下圖所示。
使用nc命令監(jiān)聽指定端口。
nc -l 9002 #然后隨便輸入點東西,比如像下面這樣 #這些東西在提交 SocketWindowWordCount Job之前或之后輸入都是可以的 hello world word count hi flink ha ha運行Flink測試example,這里用Flink WordCount Job來測試一下。
#在源碼目錄下執(zhí)行,指定9002端口,這個端口要和剛剛 nc 命令監(jiān)聽的端口一致 ./build-target/bin/flink run ./build-target/examples/streaming/SocketWindowWordCount.jar --port 9002查看SocketWindowWordCount Job的輸出。
#在源碼目錄下執(zhí)行 tail -100f ./build-target/log/flink-*-taskexecutor-0-*.out #執(zhí)行后輸出如下 hello : 1 world : 1 word : 1 count : 1 hi : 1 flink : 1 ha : 2也可以在Flink web UI里查看輸出,如下圖所示。
轉載于:https://www.cnblogs.com/cjblogs/p/10785899.html
總結
以上是生活随笔為你收集整理的Flink源码分析 - 源码构建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python【每日一问】08
- 下一篇: 谈谈进程和线程的区别