共计 5080 个字符,预计需要花费 13 分钟才能阅读完成。
Apache StreamPark(Incubating) 社区的小伙伴们大家好:明天咱们很快乐地发表 StreamPark 2.0.0 正式公布!欢送下载应用。
这是 StreamPark 退出 Apache 孵化器以来公布的第一个版本,也是一个重大性能更新的版本。间隔上个版本公布已有半年之久,在这半年多的工夫里,咱们开发了很多十分实用的新性能,也经验了社区小伙伴们的数次催更和发版合规的数次整改。当初,它终于和大家见面了。这是一个诚意满满的、值得期待的版本。有超过 100 位 Contributor 奉献了超过 700 个 Pull Request,带来了诸多的新个性和改良修复,感激每一位贡献者的致力。
在 2.0.0 版本中,咱们实现了 Apache 我的项目的合规要求。此次发版投票前后周期逾越 3 个月,通过社区和 ASF 孵化器导师们数轮的检查和投票,在此非常感谢参加我的项目检查和投票的导师和社区小伙伴,由衷感触到 ASF 对我的项目的严苛要求,对 License(一种具备法律性质的合同或领导,目标在于标准受著作权爱护的软件的应用或分布行为)合规的高度重视。终于,在第 7 轮投票中通过了本次公布。这意味着 2.0.0 版本的 License 合规最大水平的失去保障,能够被更多企业更宽泛的应用。
本次重写了整个前端模块,UI 显示更加好看和业余。前端构建和启动速度同历史版本比晋升了 5~10 倍。对 Apache Flink 做了更好的反对,反对最新的 Flink 1.16。部署 Flink 作业 on Kubernetes 达到生产可用级别,另外在实用性和易用性上做了大量改良,修复了诸多历史 Bug 和安全漏洞,倡议所有人降级应用。
尝鲜体验
- GitHub:https://github.com/apache/streampark
- 下载:https://streampark.apache.org/download
欢送应用、关注、star、fork,四连胜利~ 🤪 尤其是催更的诸位:
装置应用
Apache StreamPark(Incubating) 提供了两个安装包,在 Scala 版本上有所不同。如下:
- apache-streampark_2.11-2.0.0-incubating-bin.tar.gz
- apache-streampark_2.12-2.0.0-incubating-bin.tar.gz
2.11 和 2.12 即为 Scala 的版本,这里 Scala 版本与 Flink 的 Scala 版本要保持一致。如果 Flink 版本是 1.15 及以上,那么只能应用 Scala 2.12 版本的 StreamPark。因为 Flink 1.15+ 只反对 Scala 2.12,1.15 以下的版本则 Scala 2.11 和 2.12 都反对。
总之须要下载与指标 Flink 的 Scala 版本对应的 StreamPark 安装包。
除了下载提供好的安装包之外,你也能够抉择下载源码进行编译装置。StreamPark 2.0 提供了非常简单的一键编译脚本,执行脚本编译出指标安装包即可装置。
视频演示,可参考公众号文章 StreamPark 从源码编译到启动部署
新个性解读
全新的前端
StreamPark 历史版本的前端模块是基于 Vue2 框架开发的,不少页面代码量过多、页面和组件复用率低,在可读性和维护性上都带来了不小的挑战。本次基于 Vue3 重写了整个前端局部,组件划分更清晰、可复用性更高,很好地解决了以上问题。降级 Vue3 之后模块按需编译按需导入的,体积比之前更小,编译、启动和渲染等速度更快。
本次反对了 i18n,反对中 / 英切换。此外反馈较多的对于异样信息的提醒也做了改良: 之前作业失败等相干信息只记录到了后盾日志,并未在前端显示给用户,这会给排查问题带来不便。本次改良了这部分,相干信息直观地出现给用户,不便用户疾速剖析和定位问题。
在好看度上,进一步改良了暗黑模式,优化了十分多的细节,广泛反馈本次页面更加好看和业余。
上图为 StreamPark 2.0.0 界面预览
### K8s 能力更稳固
本次在部署 Flink on Kubernetes 上,修复了诸多历史 Bug,反对了查看 Kubernetes 部署模式下的实时日志,重构了作业运行状态这部分的实现。
在状态获取这部分引入了基于读取 HistoryServer[1] 归档文件来获取作业状态的保底策略,须要特地指出的是 StreamPark 中对于 Flink on Kubernetes 的实现并非基于 flink-kubernetes-operator[2]。
在作业部署提交、运行状态等各个方面都做了大量的测试,整体稳定性和可用性通过企业大量作业的验证,达到生产可用级别。
更好的 Flink 反对
在 StreamPark 2.0.0 版本中,反对了最新的 Flink 1.16,到此 Flink 1.12.x 至 1.16 都曾经做了残缺的反对,并且本次对适配 Flink 做了改良,使得适配一个新版本的 Flink 更加简略。
视频演示,可参考公众号文章 反对 Flink 多版本
此外,对 Flink 开发框架这部分也进行了改良,对立了 StreamPark 中的开发 Flink 作业的参数配置,从新标准了参数名,使 StreamPark 的 Flink 开发框架局部的参数与 Apache Flink 参数名保持一致,大大晋升了用户配置 Flink 参数的易用性,从而加重开发者的心智累赘和应用学习老本。
最新的 Flink 作业配置文件构造如下:
上图为 Flink 作业参数配置
易用性改良
历史版本中 StreamPark 平台强依赖 MySQL,本次扩大反对了三种数据库供用户抉择: 别离是 H2、MySQL、PostgreSQL。StreamPark 默认应用 H2。对于想要疾速体验的用户来说,下载安装包、执行启动脚本启动服务即可,无需其余额定配置和操作就能够体验 StreamPark 了,进一步升高了用户的体验门槛和应用老本。
本次新增了变量治理性能,在没有变量之前在 StreamPark 里编写 Flink SQL 作业时会将连接器的相干信息,如: 数据库的连贯字符串、用户名、明码等明文地写在 SQL 中。这样岂但容易出错,作业多了凌乱不方便管理,而且还不平安。有了变量治理和填充性能之后: 在创立作业时能够应用定义好的变量进行填充,同时能够不便查看某个变量被哪些作业应用,防止手动输出带来的谬误。
视频演示,可参考公众号文章 StreamPark 新性能预览之变量治理
除此之外,本次还优化了很多其余方面对于易用性上的细节,如:提供了 Docker 形式一键部署启动 StreamPark [3],反对了通过 copy 已有的作业来疾速创立一个新的作业等等,这些性能都不同水平地晋升了 StreamPark 的易用性,给用户带来更好的应用体验。
### 企业级反对
本次新增了团队治理,在没有团队治理之前,所有的作业都展现在一个页面,十分不便于作业的分类和治理,同时作业的权限也得不到保障。新增团队治理后,不同的团队之间资源隔离,团队成员只能看到本团队的作业,这样作业的治理和权限问题都失去了解决。
为了更好地同企业现有账号体系买通,本次新增了 LDAP 登录性能,只须要在零碎的配置中进行 LDAP 相干的配置,而后在登录时抉择通过 LDAP 登录即可。这样就能够快捷的一键登录 StreamPark 平台。
对于企业用户生产环境应用来讲,作业的稳定性至关重要,与之相干的预警机制也是一个必须要考量的一个重要指标。本次告警告诉形式新增反对了钉钉、企业微信、飞书、邮件等形式。用户只须要配置一个告警组,在作业里指定告警组即可,做到了灵便配置和复用。
其余更新和改良
- 改良我的项目构建体验,记录上一次构建日志
- 反对了 Flink SQL 所有语法
- 开发框架局部反对 HOCON 配置文件
- run-mode 反对 streaming 和 batch
- 修复
env.java.opts
参数不失效的 bug - 修复反对 Yarn 队列不失效的 bug
- 修复 on Yarn 下 Kerberos 认证相干的 bug
Release Note
本次 StreamPark 2.0.0 版本的 残缺 Release Note 请拜访:https://streampark.apache.org/download/release-note/2.0.0
👍 感激贡献者
THANK YOU ALL
StreamPark 开源社区的倒退,离不开宽广用户群体的踊跃反馈和宣传布道,更离不开贡献者们的自私奉献,感激对此版本做出奉献的每一位贡献者。致谢名单 (排名不分先后):
1996fanrui、Aimiyoo、Assert、BIN、Cheng Pan、ChenlingXie、ChunFu Wu、Daixinyu、Daniel Gruno、Gerry、Gilliam Su、GuoGuo、HaiYang Chen、Kerwin、Kick156、Kunni、KyleZhang0536、Leping Huang、Liebing、LiuHao、Monster、PJ Fanning、Rinka、Roc Marshal、Rui Fan、Ruibin Xing、Shaokang Lv、Shlpeng、Steam、Tamer、Tobe、Tyrantlucifer、VampireAchao、WHJian、WangSizhu0504、YuTing、Yuepeng.Pan、Yw Zhang、atovk、avatarTaier、benjobs、bitstring、boliza、boojack、bulolo、chuanchuan、dian、didiaode18、fanchp0、fantasticKe、gongzhongqiang、hellowrold2022、huangzhuojun、jakevin、legendtkl、liuzhuang2017、lvlin241、lvshaokang、macksonmu、maruko、monrg、monster、mucj7、rafaelxie、sky-creater、sober、teeyog、tison、wangqingrong、wangrui、weijinglun、wellCh4n、wql、wzq246810、xujiangfeng001、xxyykkxx、yiwei、zhangxiangyang、zhu-mingye、zhuojun-huang、zhuzhihao94、ziqiang-wang、秋天、阿洋、小狐狸、木鱼和尚、第一片情意、芝麻仗剑走咫尺
什么是 StreamPark
StreamPark 是一个流解决利用程序开发治理框架。初衷是让流解决更简略,旨在轻松构建和治理流解决应用程序,提供应用 Apache Flink 和 Apache Spark 编写流解决应用程序的开发框架,将来将反对更多其余引擎。同时,StreamPark 提供了一个流解决利用治理平台,外围能力包含但不限于利用开发、调试、交互查问、部署、运维、实时数仓等,最后开源时项目名称叫 StreamX,于 2022 年 8 月更名 [4] 为 StreamPark,随后通过投票正式成为 Apache 开源软件基金会的孵化我的项目。
退出咱们
进入 Apache 孵化器意味着 StreamPark 间隔成为顶级的开源社区产品更近一步,也是万里长征的第一步。咱们时刻放弃开发者谦虚奢侈的实质,认真学习和遵循「The Apache Way」,秉承更加兼容并包的心态,迎接更多的时机与挑战。诚挚欢送更多的贡献者参加到社区建设中来,和咱们一道携手共建。
💻 我的项目地址:[https://github.com/apache/inc…](https://github.com/apache/inc…
)
🧐 提交问题和倡议:https://github.com/apache/incubator-streampark/issues
🥁 奉献代码:https://github.com/apache/incubator-streampark/pulls
📮 Proposal:https://cwiki.apache.org/confluence/display/INCUBATOR/StreamPark+Proposal
📧 订阅社区开发邮件列表:dev@streampark.apache.org
💁社区沟通:
参考资料
[1] https://nightlies.apache.org/…
[2] https://github.com/apache/fli…
[3] https://streampark.apache.org…
[4] https://github.com/apache/inc…
祝大家装置、降级顺利~~