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

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: Plink是一个基于Flink的流处理平台,旨在基于 [Apache Flink]封装构建上层平台。提供常见的作业管理功能。如作业的创建,删除,编辑,更新,保存,启动,停止,重启,管理,多作业模板配置等。Flink SQL 编辑提交功能。如 SQL 的在线开发,智能提示,格式化,语法校验,保存,采样,运行,测试,集成 Kafka 等。由于项目刚刚启动,未来还有很长的路要走,让我们拭目以待。

在 Windows 上部署 Plink


Plink 进行独立单机部署,可以在 Windows 上进行部署,以下是部署的操作详情。

环境需求

  1. 操作系统
  1. Windows
  1. 编译环境
  1. Java 1.8 +
  2. Maven 3.3 + (编译代码)
  1. 运行环境
  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

安装 Plink

项目编译

  1. 编译
git clone https://github.com/hairless/plink.git
cd plink
mvn clean package -Dmaven.test.skip=true
  1. 成功后在 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,然运行。

作业列表

新建作业

  • 作业管理 -> 作业列表 -> 右侧按钮 -> 新建 -> 输入(作业名称/类型/描述) -> 新建。如下所示:

微信图片_20220527223837.png

编辑作业

注意: 由于独立部署和容器化部署的 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。

  1. 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,保存即可。如下所示:

微信图片_20220527223840.png

作业详情

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

微信图片_20220527223843.png

2.作业实例

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

启动作业

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

待启动

微信图片_20220527223846.png

启动中

微信图片_20220527223849.png

运行中

微信图片_20220527223852.png

运行成功

微信图片_20220527223855.png

实例列表

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

微信图片_20220527224123.png

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
7月前
|
监控 大数据 Java
使用Apache Flink进行大数据实时流处理
Apache Flink是开源流处理框架,擅长低延迟、高吞吐量实时数据流处理。本文深入解析Flink的核心概念、架构(包括客户端、作业管理器、任务管理器和数据源/接收器)和事件时间、窗口、状态管理等特性。通过实战代码展示Flink在词频统计中的应用,讨论其实战挑战与优化。Flink作为大数据处理的关键组件,将持续影响实时处理领域。
1074 5
|
5月前
|
存储 SQL 安全
联通实时计算平台问题之如何体现集群治理的效果
联通实时计算平台问题之如何体现集群治理的效果
|
5月前
|
消息中间件 分布式计算 Kafka
联通实时计算平台问题之实时计算平台对于用户订阅和数据下发是如何支持的
联通实时计算平台问题之实时计算平台对于用户订阅和数据下发是如何支持的
|
5月前
|
消息中间件 监控 Java
联通实时计算平台问题之监控Kafka集群的断传和积压情况要如何操作
联通实时计算平台问题之监控Kafka集群的断传和积压情况要如何操作
|
5月前
|
消息中间件 监控 Kafka
联通实时计算平台问题之Flink状态后端数据量较大时,问题排查要如何进行
联通实时计算平台问题之Flink状态后端数据量较大时,问题排查要如何进行
|
5月前
|
消息中间件 存储 算法
联通实时计算平台问题之亿级标签关联实现且不依赖外部系统要如何操作
联通实时计算平台问题之亿级标签关联实现且不依赖外部系统要如何操作
|
5月前
|
消息中间件 监控 Kafka
联通实时计算平台问题之实时计算平台的数据处理流程是什么样的
联通实时计算平台问题之实时计算平台的数据处理流程是什么样的
|
5月前
|
搜索推荐 OLAP 流计算
OneSQL OLAP实践问题之基于 Flink 打造流批一体的数据计算平台如何解决
OneSQL OLAP实践问题之基于 Flink 打造流批一体的数据计算平台如何解决
65 1
|
5月前
|
Java Spring 安全
Spring 框架邂逅 OAuth2:解锁现代应用安全认证的秘密武器,你准备好迎接变革了吗?
【8月更文挑战第31天】现代化应用的安全性至关重要,OAuth2 作为实现认证和授权的标准协议之一,被广泛采用。Spring 框架通过 Spring Security 提供了强大的 OAuth2 支持,简化了集成过程。本文将通过问答形式详细介绍如何在 Spring 应用中集成 OAuth2,包括 OAuth2 的基本概念、集成步骤及资源服务器保护方法。首先,需要在项目中添加 `spring-security-oauth2-client` 和 `spring-security-oauth2-resource-server` 依赖。
62 0
|
5月前
|
消息中间件 数据挖掘 Kafka
揭秘大数据时代的极速王者!Flink:颠覆性流处理引擎,让实时数据分析燃爆你的想象力!
【8月更文挑战第29天】Apache Flink 是一个高性能的分布式流处理框架,适用于高吞吐量和低延迟的实时数据处理。它采用统一执行引擎处理有界和无界数据流,具备精确状态管理和灵活窗口操作等特性。Flink 支持毫秒级处理和广泛生态集成,但学习曲线较陡峭,社区相对较小。通过实时日志分析示例,我们展示了如何利用 Flink 从 Kafka 中读取数据并进行词频统计,体现了其强大功能和灵活性。
96 0