Plink v0.1.0 發佈——基於Flink的流處理平臺

来源:https://www.cnblogs.com/tree1123/archive/2020/07/03/13228194.html
-Advertisement-
Play Games

Plink是一個基於Flink的流處理平臺,旨在基於 [Apache Flink]封裝構建上層平臺。 提供常見的作業管理功能。如作業的創建,刪除,編輯,更新,保存,啟動,停止,重啟,管理,多作業模板配置等。 Flink SQL 編輯提交功能。如 SQL 的線上開發,智能提示,格式化,語法校驗,保存, ...


Plink是一個基於Flink的流處理平臺,旨在基於 [Apache Flink]封裝構建上層平臺。
提供常見的作業管理功能。如作業的創建,刪除,編輯,更新,保存,啟動,停止,重啟,管理,多作業模板配置等。
Flink SQL 編輯提交功能。如 SQL 的線上開發,智能提示,格式化,語法校驗,保存,採樣,運行,測試,集成 Kafka 等。

由於項目剛剛啟動,未來還有很長的路要走,讓我們拭目以待。

在 Windows 上部署 Plink

Plink 進行獨立單機部署,可以在 Windows 上進行部署,以下是部署的操作詳情。

環境需求

  1. 操作系統
    1. Windows
  2. 編譯環境
    1. Java 1.8 +
    2. Maven 3.3 + (編譯代碼)
  3. 運行環境
    1. Apache Flink 1.9 + (Standalone 模式)
    2. MySQL 5.7 +
    3. Java 1.8 +

安裝 Java

  • 版本: java 1.8+
  • JAVA_HOME 配置
  • 安裝詳情: 略 。。。

安裝 Maven

  • 版本: maven 3.3 +
  • MAVEN_HOME 配置
  • 安裝詳情: 略 。。。

安裝 Mysql

  • 版本: mysql 5.7+

  • 安裝建議: 建議 Docker 安裝,命令如下:

    docker run -p 3306:3306 --name plink-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
    
  • 初始化腳本

    進入 docker mysql 中,執行如下的 sql 語句,創建庫和表。

    https://github.com/hairless/plink/blob/master/plink-web/src/main/resources/META-INF/sql/mysql/plink_init.sql
    
  • 遠程授權

    -- CREATE USER 'root'@'%' IDENTIFIED BY '1234567';
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
    FLUSH PRIVILEGES;
    

項目編譯

  1. 編譯

    git clone https://github.com/hairless/plink.git
    cd plink
    mvn clean package -Dmaven.test.skip=true
    

    成功後在 plink/plink-dist/target/ 下會有一個 plink-${version}-bin.tar.gz 文件,如: plink-0.1-bin.tar.gz

解壓

找到上面的 plink-${version}-bin.tar.gz 文件,找一個合適的目錄,假設該目錄為 PLINK_HOME 滑鼠右鍵解壓,然後切換到 PLINK_HOME 目錄。

配置

進入 config 文件夾,可以編輯 application.yml, application-local.yml 等配置文件

  1. 配置 mysql 編輯 application-local.yml,配置 spring.datasource.xxx 等屬性。如: 預設的 mysql url 地址為 jdbc:mysql://localhost:3306/plink?useUnicode=true&characterEncoding=utf-8

啟動

打開 cmd 命令提示符,切換到 PLINK_HOME 目錄

bin/run.bat start

訪問預設地址: http://127.0.0.1:8666

關閉

打開 cmd 命令提示符,切換到 PLINK_HOME 目錄

bin/run.bat stop

使用 Docker 部署 Plink

可以使用 Docker 進行部署 Plink,以下是部署的操作詳情。

由於網路原因,當前鏡像只上傳到了阿裡雲。

環境

  1. Java 1.8
  2. Apache Flink 1.10.0
  3. MySQL 5.7.28
  4. plink:master

鏡像大小: 1.46G

概述

當前為了快速獲得測試效果,將 JDK,Flink,MySQL,Plink 全部打入到一個鏡像了 - - 、

拉取鏡像

docker pull registry.cn-hangzhou.aliyuncs.com/hairless/plink:master

啟動鏡像

docker run -ti -p 8666:8666 -p 8081:8081 --name plink -d registry.cn-hangzhou.aliyuncs.com/hairless/plink:master

本地 FLINK_HOME 覆蓋 Docker 鏡像中的 Flink,需在 docker 啟動時加入參數 : -v FLINK_HOME:/opt/flink

訪問

  1. Plink: http://127.0.0.1:8666

  2. Flink: http://127.0.0.1:8081

運行 Word Count 作業示例

在 Plink 上提交 Flink 自帶的 flink-1.9.1\examples\streaming\WordCount.jar,然運行。

作業列表

新建作業

  • 作業管理 -> 作業列表 -> 右側按鈕 -> 新建 -> 輸入(作業名稱/類型/描述) -> 新建。如下所示:

編輯作業

註意: 由於獨立部署和容器化部署的 Flink 版本可能不一樣,最好使用對應的 WordCount Jar 版本。

  1. 獨立部署(Flink 1.9):

    下載鏈接: https://mirror.bit.edu.cn/apache/flink/flink-1.9.3/flink-1.9.3-bin-scala_2.11.tgz
    Jar 目錄: f${FLINK_HOME}examples\streaming\WordCount.jar。

  2. Docker 部署(Flink 1.10):

    下載鏈接: https://mirrors.bfsu.edu.cn/apache/flink/flink-1.10.1/flink-1.10.1-bin-scala_2.11.tgz
    Jar 目錄: ${FLINK_HOME}\examples\streaming\WordCount.jar

作業列表編輯或新建作業之後會自動跳轉到編輯作業的頁面。填寫參數,上傳 Jar,保存即可。如下所示:

作業詳情

  1. 作業信息

    確認自己作業的基礎信息,作業配置,運行參數等。

2.作業實例

每一次作業運行時,都會產生一個作業實例。

啟動作業

在作業詳情頁的右側功能按鈕點擊啟動,即可啟動作業,同時頁面會自動刷新(當前刷新頻率為 1s)

待啟動

啟動中

運行中

運行成功

實例列表

實例列表可以看所有的作業實例運行歷史信息。

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


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

-Advertisement-
Play Games
更多相關文章
  • SQL基礎隨記3 範式 鍵 什麼是範式?哈,自己設計會使用但是一問還真說不上來。遂將不太明晰的概念整體下 什麼是 & 分類 範式(NF),一種規範,設計資料庫模型時對關係內部各個屬性之間的聯繫的合理化程度的不同等級的規範要求。 分類: 1NF、2NF、3NF、BCNF(巴斯科德範式)、4NF、5NF ...
  • 1. 背景描述和需求 數據分析程式部署在Docker中,有一些分析計算需要使用Spark計算,需要把任務提交到Spark集群計算。 接收程式部署在Docker中,主機不在Hadoop集群上。與Spark集群網路互通。 需求如下 1、在Docker中可程式化向Spark集群提交任務 2、在Docker ...
  • HDFS 文件操作命令 註,其實常用命令不用網上搜,和linux下的命令很類似,觸類旁通,直接在linux 上 hadoop fs 看一下就行了,不需要刻意去記 我把 linux 上的 help 列舉下,方便直接看吧,hdfs dfs 與 hadoop fs 效果一樣 常用的就是 hdfs dfs ...
  • 7月2日消息:近2.3萬個MongoDB資料庫遭黑客攻擊勒索特幣贖金,幾乎占MongoDB資料庫的47%。黑客要求每個資料庫2天內支付0.015 BTC(約合140美元),否則泄露其數據。如何解決此類數據安全問題?本文為您帶來“資料庫遭比特幣勒索的解密與恢復實戰”。 ...
  • MySQL調優 優化需要考慮哪些方面 優化目標與方向定位 總體目標:使得響應時間更快,吞吐量更大。 (throughout 吞吐量:單位時間內處理事務的數量) 如何找到需要優化的地方 使用反饋。比如做出一些操作後導致效率降低 分析日誌。 監控伺服器資源。系統,記憶體,I/O 監控資料庫運行狀況 可優化 ...
  • 原理: Redis集群採用一致性哈希槽的方式將集群中每個主節點都分配一定的哈希槽,對寫入的數據進行哈希後分配到某個主節點進行存儲。 集群使用公式(CRC16 key)& 16384計算鍵key數據那個槽。 16384個slot均勻分佈在各個節點上。 集群中每個主節點將承擔一部分槽點的維護,而槽點中存 ...
  • 準備4台虛擬機,安裝好ol7.7,分配固定ip192.168.168.11 12 13 14,其中192.168.168.11作為master,其他3個作為slave,主節點也同時作為namenode的同時也是datanode,192.168.168.14作為datanode的同時也作為second... ...
  • 本文更新於2019-06-22,使用MySQL 5.7,操作系統為Deepin 15.4。 為了便於描述,此處將創建視圖的DDL覆述一次,其已於“SQL”章節描述。 CREATE [OR REPLACE] [ALGORITHM={UNDEFINED|MERGE|TEMPTABLE}] VIEW vi ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...