Flink源碼分析 - 源碼構建

来源:https://www.cnblogs.com/cjblogs/archive/2019/04/28/10785899.html
-Advertisement-
Play Games

原文地址:https://mp.weixin.qq.com/s?__biz=MzU2Njg5Nzk0NQ==&mid=2247483692&idx=1&sn=18cddc1ee0decfe24323dafdb05a048d 本篇介紹一下如何從源碼構建Flink,構建Flink源碼是學習和研究Flin ...


原文地址:https://mp.weixin.qq.com/s?__biz=MzU2Njg5Nzk0NQ==&mid=2247483692&idx=1&sn=18cddc1ee0decfe24323dafdb05a048d

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

環境準備

環境/軟體 版本 備註
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
#切換到一個穩定分支
git checkout release-1.8
#構建源碼
#-DskipTests跳過執行測試程式
#-Dfast跳過測試、QA插件和JavaDocs,加快構建速度
#建議加上-Dfast參數,避免在構建的過程中會遇到各種各樣的問題
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已經構建好了,這裡用 SocketWindowWordCount 的例子來測試一下,看看是否可以正常執行。首先按照下麵的步驟啟動Flink。

#在源碼目錄下執行
./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,如下圖所示。

Flink web UI

使用nc命令監聽指定埠。

nc -l 9002
#然後隨便輸入點東西,比如像下麵這樣
#這些東西在提交 SocketWindowWordCount Job之前或之後輸入都是可以的
hello world
word count
hi
flink
ha ha

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

#在源碼目錄下執行,指定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里查看輸出,如下圖所示。

Task Manager Output


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 詳細資料請參考《Cortex M3與M4權威指南》. 時鐘頻率與延時 時鐘選擇 採用參考8分頻的參考時鐘(168M / 8 = 21M)比較準,所以此處SysTick計數器選擇21M的時鐘 如何延時1us 時鐘頻率為21M,也就是1s的時間技術21M次。 由此可知計數一次用了 (1/21000000 ...
  • 一、前言 無論是IC工程師、FPGA工程師還是嵌入式軟體工程師,都或多或少會接觸到Linux操作系統。有很多EDA工具只有Linux版本,因此掌握基本的操作和常用命令十分必要。Linux中的數據均以文件形式存在,本文講述文件和目錄相關的基本操作、VIM編輯常用技巧以及利用CRT實現Windows與L ...
  • 基於GTID的mysql主從簡單複製 一、簡單主從模式配置步驟1、配置主從節點的服務配置文件1.1、配置master節點:[mysqld]binlog-format=ROWlog-bin=master-binlog-slave-updates=truegtid-mode=on enforce-gti ...
  • 膜拜 ...
  • 複製一下內容到記事本中: 文件名:PotoView.bat 文件內容: 其中,暗紅色部分為你要打開的照片屬性,如果想要自己添加上面沒有的屬性,只需要複製最後一條數據,修改紅色部分為自己照片尾碼就可以了 打開PNG文件: ...
  • 如何查看和修改寄存器 在程式中可以使用HI_SYS_ReadRegister,HI_SYS_WriteRegister介面進行寄存器的讀寫操作。 在單板命令行下,使用工具。 單板/usr/sbin目錄下,有一系列寄存器操作相關的工具,分別介紹如下: 工具 | 參數 |功能| 備註 | | | him ...
  • 今天用“web發佈平臺”發佈測試的服務,兩個節點中發現有一個節點沒有發佈成功,壓測TPS始終上不去,排查後發現只有一個節點在打日誌,另一個節點的服務進程都沒有在運行,由此斷定應該是沒有發佈成功,有點坑的是發佈平臺上的發佈記錄是SUCCESS的,打開發佈日誌後才看到有一個節點是發佈失敗的。 從錯誤日誌 ...
  • python面試題(轉自https://www.cnblogs.com/wupeiqi/p/9078770.html) 第一部分 Python基礎篇(80題) 為什麼學習Python? 通過什麼途徑學習的Python? Python和Java、PHP、C、C#、C++等其他語言的對比? 簡述解釋型和 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...