Plink是一個基於Flink的流處理平臺,旨在基於 [Apache Flink]封裝構建上層平臺。 提供常見的作業管理功能。如作業的創建,刪除,編輯,更新,保存,啟動,停止,重啟,管理,多作業模板配置等。 Flink SQL 編輯提交功能。如 SQL 的線上開發,智能提示,格式化,語法校驗,保存, ...
Plink是一個基於Flink的流處理平臺,旨在基於 [Apache Flink]封裝構建上層平臺。
提供常見的作業管理功能。如作業的創建,刪除,編輯,更新,保存,啟動,停止,重啟,管理,多作業模板配置等。
Flink SQL 編輯提交功能。如 SQL 的線上開發,智能提示,格式化,語法校驗,保存,採樣,運行,測試,集成 Kafka 等。
由於項目剛剛啟動,未來還有很長的路要走,讓我們拭目以待。
在 Windows 上部署 Plink
Plink 進行獨立單機部署,可以在 Windows 上進行部署,以下是部署的操作詳情。
環境需求
- 操作系統
- Windows
- 編譯環境
- Java 1.8 +
- Maven 3.3 + (編譯代碼)
- 運行環境
- Apache Flink 1.9 + (Standalone 模式)
- MySQL 5.7 +
- 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;
安裝 Apache Flink
-
版本: flink-1.9.3-bin-scala_2.11(建議: 這裡建議使用 1.9.x 版本,因為 1.10+ 版本在 windows 系統上不能開箱即用)
-
下載: https://mirror.bit.edu.cn/apache/flink/flink-1.9.3/flink-1.9.3-bin-scala_2.11.tgz
-
解壓到合適的目錄,假設該目錄為 FLINK_HOME
-
環境變數配置 FLINK_HOME(必須,Plink 會用到該環境變數)
-
Flink 配置: 無需更改
-
啟動: 執行 bin 目錄下的腳本
start-cluster.bat
-
測試: 訪問 http://127.0.0.1:8081 正常即可。
安裝 Plink
項目編譯
-
編譯
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 等配置文件
- 配置 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,以下是部署的操作詳情。
由於網路原因,當前鏡像只上傳到了阿裡雲。
環境
- Java 1.8
- Apache Flink 1.10.0
- MySQL 5.7.28
- 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
訪問
-
Plink: http://127.0.0.1:8666
-
Flink: http://127.0.0.1:8081
運行 Word Count 作業示例
在 Plink 上提交 Flink 自帶的 flink-1.9.1\examples\streaming\WordCount.jar,然運行。
作業列表
新建作業
- 作業管理 -> 作業列表 -> 右側按鈕 -> 新建 -> 輸入(作業名稱/類型/描述) -> 新建。如下所示:
編輯作業
註意: 由於獨立部署和容器化部署的 Flink 版本可能不一樣,最好使用對應的 WordCount Jar 版本。
-
獨立部署(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。 -
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,保存即可。如下所示:
作業詳情
-
作業信息
確認自己作業的基礎信息,作業配置,運行參數等。
2.作業實例
每一次作業運行時,都會產生一個作業實例。
啟動作業
在作業詳情頁的右側功能按鈕點擊啟動,即可啟動作業,同時頁面會自動刷新(當前刷新頻率為 1s)
待啟動
啟動中
運行中
運行成功
實例列表
實例列表可以看所有的作業實例運行歷史信息。
更多Flink,Kafka等相關技術博文,科技資訊,歡迎關註實時流式計算 公眾號後臺回覆 “電子書” 下載300頁Flink實戰電子書