Plink v0.1.0 发布——基于Flink的流处理平台

    技术2024-11-24  29

    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实战电子书

    Processed: 0.010, SQL: 9