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

2020-07-06 15:37:45 浏览数 (1)

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;

安装 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

项目编译

  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 目录

代码语言:javascript复制
bin/run.bat start

访问默认地址: http://127.0.0.1:8666

关闭

打开 cmd 命令提示符,切换到 PLINK_HOME 目录

代码语言:javascript复制
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 全部打入到一个镜像了 - - 、

拉取镜像

代码语言:javascript复制
docker pull registry.cn-hangzhou.aliyuncs.com/hairless/plink:master

启动镜像

代码语言:javascript复制
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.1examplesstreamingWordCount.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}examplesstreamingWordCount.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}examplesstreamingWordCount.jar

作业列表编辑或新建作业之后会自动跳转到编辑作业的页面。填写参数,上传 Jar,保存即可。如下所示:

作业详情

  1. 作业信息 确认自己作业的基础信息,作业配置,运行参数等。

2.作业实例

每一次作业运行时,都会产生一个作业实例。

启动作业

在作业详情页的右侧功能按钮点击启动,即可启动作业,同时页面会自动刷新(当前刷新频率为 1s)

待启动

启动中

运行中

运行成功

实例列表

实例列表可以看所有的作业实例运行历史信息。

0 人点赞