找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1573

积分

0

好友

207

主题
发表于 13 小时前 | 查看: 3| 回复: 0

概述

你是否曾被 Flink 应用开发的繁琐配置和复杂运维所困扰?Apache StreamPark 的出现,正是为了将流处理应用的门槛降至冰点。它致力于让开发者从框架细节中解放出来,更专注于业务逻辑的创新。

StreamPark 通过规范化的项目配置、函数式编程引导、最佳实践定义以及丰富的即用型连接器,将配置、开发、测试、部署、监控和运维的全流程标准化。它支持 Scala 和 Java 双语言接口,并构建了一个一站式的流处理作业开发管理平台,为作业从构思到上线的全生命周期提供坚实支撑。

环境预备与安装

1. 环境预备

本次实践环境已预先安装以下组件:

  • JDK 11.0.30
  • MySQL 5.7.25-1
  • Flink 1.20.3
  • Hadoop 3.4.22

2. 安装 StreamPark

首先,下载并解压安装包:

tar -zxvf apache-streampark_2.12-2.1.7-bin.tar.gz
mv apache-streampark_2.12-2.1.7-bin streampark

配置调整:进入 conf 目录,修改 config.yaml 文件。核心步骤是将默认的 H2 数据源切换为你正在使用的 MySQL 或其他数据库。

StreamPark配置文件数据源设置示例

URL 配置参考如下(请根据实际情况调整):

jdbc:mysql://localhost:3306/streampark?useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8

接着,修改本地工作空间路径:
StreamPark工作空间配置示例

数据库初始化

  1. 在你的 MySQL 中创建一个名为 streampark 的数据库。
  2. 依次执行 script/schema/mysql-schema.sqlscript/data/mysql-data.sql 脚本以完成表结构和基础数据的初始化。

驱动放置:将你的 MySQL 驱动 Jar 包(例如 mysql-connector-j-8.0.33.jar)放入 streampark/lib 目录下。

启动服务

bin/startup.sh

StreamPark服务启动成功日志
启动后,可通过 logs/streampark.out 文件查看运行日志。

访问管理平台

在浏览器中访问 http://your-server-ip:10000
默认登录账号为 admin,密码为 streampark
Apache StreamPark登录界面

基础配置

成功登录后,需要进行两项关键的基础配置,以便 StreamPark 能够管理你的 Flink 环境。

在此处添加你已安装的 Flink 目录,StreamPark 会识别其版本。
Flink版本管理界面

添加一个 Flink 集群,运行模式选择 standalone,并填写其 Web UI 地址(例如 http://localhost:8081)。配置成功后,点击“眼睛”图标可直接跳转至原生的 Flink Web UI 界面。
Flink集群管理界面

现在,让我们创建一个简单的 Flink SQL 作业来体验整个流程。

  1. 进入作业开发:在平台中找到作业开发或类似功能入口,点击“添加”按钮。
  2. 填写作业配置
    • 作业类型:选择 Flink SQL
    • 运行模式:选择 standalone
    • Flink 版本:选择你上一步配置好的版本。
    • Flink 集群:选择你上一步配置好的集群。
    • Flink SQL:在编辑框中填入你的 SQL 脚本。

Flink SQL作业配置界面

这里是一个简单的示例脚本,它创建了一个数据生成源表和一个黑阱接收表,并将数据从源表插入到接收表:

drop table if exists streamsourcetable;
drop table if exists streamsinktable;

create table streamsourcetable (
  content STRING
) WITH (
  ‘connector’ = ‘datagen‘
);

create table streamsinktable (
  content STRING
) WITH (
  ‘connector’ = ‘blackhole‘
);

insert into streamsinktable select content from streamsourcetable;
  1. 发布作业:配置完成后,点击“发布”按钮。系统会校验配置并将作业提交保存。
    作业发布前状态
    作业发布成功状态

  2. 启动作业:发布成功后,在作业列表中找到该作业,点击“启动”按钮。首次启动时,会询问是否从 Savepoint 恢复,选择 OFF 即可。
    准备启动作业
    启动作业时选择是否从Savepoint恢复

  3. 查看运行状态:作业启动后,状态会变为“运行中”。你可以在 StreamPark 的仪表盘和作业详情页中直观地看到任务槽、内存使用等关键指标。
    作业运行概览仪表盘
    作业详情与操作日志

作业下线与清理

当需要停止或移除作业时,StreamPark 也提供了便捷的操作。

  1. 停止作业:在运行中的作业操作栏,点击“停止”按钮。你可以根据需求选择停止时是否触发 Savepoint,以便后续从断点恢复。
    停止运行中的作业

  2. 删除作业:作业停止后,方可执行删除操作,这将彻底清理平台内的作业记录。
    删除已停止的作业

总结:StreamPark 如何重塑流处理开发

通过以上实践,我们可以看到 Apache StreamPark 与 Apache Flink 的结合,远不止是工具的叠加。它将 Flink 强大的实时计算能力封装在一个高度可视化、标准化的操作平台之下。

核心价值在于,它统一并简化了从开发、测试到部署、监控、运维的全链路,极大降低了 大数据 流处理任务的管理复杂度。开发者无需再记忆繁琐的命令行参数,运维者也能在一个界面掌控所有作业的健康状态。

对于希望快速构建和稳定管理实时数据流水线的团队而言,StreamPark 提供了一个高效的“驾驶舱”。如果你也在探索如何让流处理变得更简单,不妨在 云栈社区 与更多同行交流实践经验,共同解决开发中遇到的挑战。




上一篇:AI软件工程:如何用确定性约束驾驭大语言模型的概率性输出
下一篇:系统思维下的哲学实践:认识论、逻辑学、辩证法与方法论如何形成闭环
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-25 19:37 , Processed in 0.462377 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表