1 概述:Apache Stream Park
Apache Stream Park
- 在实时处理领域,Apache Spark™ 和 Apache Flink® 代表着巨大的进步,尤其是
Flink,它被广泛视为下一代大数据流计算引擎,而我们在使用 Apache Flink® 和 Apache Spark™ 时发现从编程模型、启动配置到运维管理都存在许多可以抽象和共用的部分,Apache Stream Park开源项目团队将一些优秀经验进行固化并结合业内最佳实践,经过不懈努力最终诞生了:Apache Stream Park™

Apache Stream Park™ 是一个一站式的流处理计算平台。规范了项目的配置、鼓励函数式编程、定义了最佳的编程方式,提供了一系列开箱即用的连接器(Connector),标准化了配置、开发、测试、部署、监控、运维的整个过程,提供了 Scala 和 Java 两套接口,并且提供了一个一站式的流处理作业开发管理平台,从流处理作业开发到上线全生命周期都做了支持。
使用 Apache StreamPark™ 开发流处理作业可以显著降低学习成本和开发门槛,让开发者能够专注于核心业务逻辑。。
核心特性
应用程序开发脚手架
- Apache StreamPark™ 提供了一个易于使用的开发框架,使开发者能够高效地构建流处理应用。它支持多种版本的 Apache Flink® 和 Apache Spark™,降低了学习成本和开发门槛,允许开发者专注于核心业务逻辑。

开箱即用的连接器
- Apache Stream Park™ 提供了一系列开箱即用的连接器,简化了与不同数据源和目标的集成。
这些连接器使得数据流的获取和处理变得更加高效,支持多种数据场景。

一站式流处理运维平台
- Apache Stream Park™ 作为一个一站式流处理运维平台,集成了应用的开发、调试、部署和运维管理功能。
它通过
streampark-console提供了低代码平台,方便用户管理 Flink 任务,简化了项目的编译、发布、参数配置等操作。

支持多种场景
- Apache Stream Park™ 支持多种应用场景,包括 Catalog、OLAP 和 Streaming Warehouse 等。这使得用户能够在不同的数据处理需求下灵活应用 Apache Stream Park™,满足实时数据分析和处理的需求。
架构设计
- Apache Stream Park™ 核心由 Stream Park Core 和 Stream Park Console 组成:

Stream Park Core
- Stream Park Core 定位是一个开发时框架,关注编码开发,规范了配置文件,按照约定优于配置的方式进行开发,提供了一个开发环境的
RuntimeContext和一系列开箱即用的连接器,扩展了 DataStream 相关的方法,融合了 DataStream 和 Flink SQL API,简化繁琐的操作、聚焦业务本身,提高开发效率和开发体验。
StreamPark Console
- Stream Park Console 是一个集实时数据处理与低代码开发于一体的平台,能够高效管理 Flink 任务。
它整合了项目编译、发布、参数配置、启动、保存点、火焰图、Flink SQL 和监控等功能,极大简化了 Flink 任务的日常操作与维护,并融入了众多最佳实践。
该平台使原本只有大公司才能研发和使用的项目,如今人人可得,其【目标】是打造一个实时数仓、流批一体的一式站大数据解决方案。
技术栈
- 该平台使用了以下技术(但不限于):
- Apache Flink
http://flink.apache.org
- Apache Spark
http://spark.apache.org
- Apache YARN
http://hadoop.apache.org
- Spring Boot
https://spring.io/projects/spring-boot
- Mybatis
http://www.mybatis.org
- Mybatis-Plus
http://mp.baomidou.com
- Vue
https://cn.vuejs.org
- VuePress
https://vuepress.vuejs.org
- Ant Design of Vue
https://antdv.com
- ANTD PRO VUE
https://pro.antdv
- xterm.js
https://xtermjs.org
- Monaco Editor
https://microsoft.github.io/monaco-editor
- ...
2 快速入门
如果要快速入门 StreamPark,可以 一键安装部署 或者 手动安装部署 。
2.1 一键安装模式
- 如果需要一键安装 StreamPark,直接复制如下命令即可:
curl -L https://streampark.apache.org/quickstart.sh | sh
如果提示如下内容,表示安装部署成功:

脚本已经帮我们安装好 StreamPark 以及 Flink 集群了,直接登录即可启动作业
- 登录系统后,点击启动即可启动默认作业。
登录地址: http://127.0.0.1:8081 ,登录账号密码: admin / streampark ):

2.2 手动安装模式
- 只需按照以下三个步骤,即可快速入门StreamPark:
Step1:环境准备
Step2:StreamPark 安装
Step3:部署作业
2.2.1 环境准备
| 物料 | 版本要求 | 演示版本(仅供参考) |
|---|---|---|
| 操作系统 | Linux/MacOS | MacOS |
| Java | JDK version >=1.18 | 1.8.0_362 |
| Scala | Scala version >=2.12 | 2.12.18 |
| Flink | Flink version >= 1.12 | 1.19.0 |
| StreamPark安装包 | 任意版本 | 2.1.5 |
备注:默认用户在本地已经安装好 JDK 以及 Scala 环境。
2.2.2 StreamPark 安装
- 首先,从官网直接下载最新版的 StreamPark,本文使用的是 2.1.5 版本
下载地址:https://streampark.apache.org/download
- 其次,下载完成后,解压到本地的某个目录,进入 bin 目录启动 StreamPark ,相关脚本如下:
# 解压StreamPark安装包.
tar -zxvf apache-streampark_2.12-2.1.5-incubating-bin.tar.gz# 启动StreamPark.
cd apache-streampark_2.12-2.1.5-incubating-bin/bin
./startup.sh
启动成功后界面如下:

- 登录 Stream Park
地址: http://127.0.0.1:10000 | 账号密码:admin / streampark

2.2.3 部署作业
- 首次登录系统后,会发现已经有一个默认创建好的
FlinkSQL作业。
为了更好地演示,这里使用
Standalone模式来运行这个作业。
在此之前,需要先配置 Flink 版本与关联 Flink 集群。
2.2.3.1 配置 Flink 版本
Flink 安装包需要与 StreamPark 服务同在一台服务器。
- 首先,需要配置 Flink 版本,即指定本地
Flink的解压路径。依次点击:设置中心 → Flink Home (Flink 版本) → 新建

2.2.3.2 配置Flink集群
需要确保本地的 Flink 集群已经启动(直接进入 Flink 解压目录下的bin目录,执行
./start-cluster.sh即可)
- 关联Flink集群,依次点击:设置中心 → Flink集群 → 添加
2.2.3.3 配置作业
- 点击作业配置,进入作业配置页面:

- 只需要修改部署模式、Flink 版本、Flink 集群,保存即可:

- 点击上线: (Release)

- 启动作业:

启动成功后的页面如下:

当然,也能进入详情页面查看作业详情:
