Plink v0.1.0 发布——基于Flink的流处理平台[通俗易懂]

Plink v0.1.0 发布——基于Flink的流处理平台[通俗易懂]Plink是一个基于Flink的流处理平台,旨在基于 [Apache Flink]封装构建上层平台。 提供常见的作业管理功能。如作业的创建,删除,编辑,更新,保存,启动,停止,重启,管理,多作业模板配

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

Plink v0.1.0 发布——基于Flink的流处理平台[通俗易懂]

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
    

    代码100分

  • 初始化脚本

    进入 docker mysql 中,执行如下的 sql 语句,创建库和表。

    代码100分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;
    
  • 版本: 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 目录下的脚本

    代码100分start-cluster.bat
    
  • 测试: 访问 http://127.0.0.1:8081 正常即可。

项目编译

  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.1examplesstreamingWordCount.jar,然运行。

作业列表

新建作业

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

Plink v0.1.0 发布——基于Flink的流处理平台[通俗易懂]

编辑作业

注意: 由于独立部署和容器化部署的 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,保存即可。如下所示:

Plink v0.1.0 发布——基于Flink的流处理平台[通俗易懂]

作业详情

  1. 作业信息

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

Plink v0.1.0 发布——基于Flink的流处理平台[通俗易懂]

2.作业实例

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

启动作业

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

待启动

Plink v0.1.0 发布——基于Flink的流处理平台[通俗易懂]

启动中

Plink v0.1.0 发布——基于Flink的流处理平台[通俗易懂]

运行中

Plink v0.1.0 发布——基于Flink的流处理平台[通俗易懂]

运行成功

Plink v0.1.0 发布——基于Flink的流处理平台[通俗易懂]

实例列表

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

Plink v0.1.0 发布——基于Flink的流处理平台[通俗易懂]

更多Flink,Kafka等相关技术博文,科技资讯,欢迎关注实时流式计算 公众号后台回复 “电子书” 下载300页Flink实战电子书

Plink v0.1.0 发布——基于Flink的流处理平台[通俗易懂]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/7596.html

(0)
上一篇 2023-03-17
下一篇 2023-03-17

相关推荐

  • MySQL必知存储引擎「建议收藏」

    MySQL必知存储引擎「建议收藏」Mysql存储引擎 1.MyISAM MySQL 5.0 之前的默认数据库引擎,最为常用。拥有较高的插入,查询速度,但不支持事务. 2.InnoDB事务型数据库的首选引擎,支持ACID事务,支持行级锁

    2022-12-30
    167
  • 腾讯云elasticsearch_腾讯云的数据库怎么那么慢

    腾讯云elasticsearch_腾讯云的数据库怎么那么慢近十年来,中国基础软件发展势头迅猛,市场前景看高,越来越多的企业也正在进行基础软件升级。那中国基础软件行业目前在国际市场上有什么优势,面临哪些困境,以及未来基础软件行业会如何发展呢?腾讯云数据库邀请沙

    2023-05-22
    141
  • pg_is_in_recovery_源码反编译

    pg_is_in_recovery_源码反编译作者:张连壮 PostgreSQL 研发工程师 从事多年 PostgreSQL 数据库内核开发,对 citus 有非常深入的研究。 上一期 我们介绍了 PostgreSQL 数据找回工具:pg_rec

    2023-04-29
    172
  • Hadoop-HDFS(HDFS「建议收藏」

    Hadoop-HDFS(HDFS「建议收藏」HDFS(Hadoop Distributed File System) 分布式文件系统,HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集

    2023-01-29
    121
  • python结构化文件处理(Python文件处理)

    python结构化文件处理(Python文件处理)Python处理两种不同类型的文件:二进制文件和文本文件。了解两者之间的差异很重要,因为它们的处理方式不同。

    2023-10-28
    144
  • 服务器数据丢失怎么办?提前做好备份工作更靠谱

    服务器数据丢失怎么办?提前做好备份工作更靠谱服务器数据是企业最重要的财富,企业的命脉,数据一旦发生丢失,对于企业来说是很大的经济损失,甚至影响到企业运营,可见其重要性。 通常服务器数据丢失主要分两种情况:硬盘物理损坏导致数据丢失和误删或恶意删…

    2023-03-01
    154
  • 提高Python编程效率的Tulpa指南

    提高Python编程效率的Tulpa指南Python是一种强大的编程语言,很多程序员使用它来实现任务。不幸的是,许多程序员在Python编程方面浪费了大量时间。为了提高Python编程效率,本文将从多个方面介绍一些Tulpa指南。

    2024-01-10
    107
  • 利用Python Tuple进行数学计算

    利用Python Tuple进行数学计算a href=”https://www.python100.com/a/sm.html”font color=”red”免责声明/font/a a href=”https://beian.miit.gov.cn/”苏ICP备2023018380号-1/a Copyright www.python100.com .Some Rights Reserved.

    2024-01-10
    98

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注