版本动态 | Apache Linkis (Incubating) 1.1.3 版本发布

来源: 投稿
作者: 微众开源
2022-08-11 09:49:00

Linkis 1.1.3 版本简介

  • GitHub:https://github.com/apache/incubator-linkis

  • Gitee:https://gitee.com/apacheLinkis/Linkis

本次发布的 1.1.3 版本主要集成 Prometheus,提供 Linkis 微服务监控的基础能力;任务提交新增任务重试次数参数;增加任务与执行 EC 的关联信息记录;Flink 引擎支持将 Yarn 日志下载到 EC 日志目录;前端页面支持水印;部分安全漏洞组件升级等;修复社区反馈的已知 bug。

缩写:

  • COMMON: Linkis Common

  • EC: Engineconn

  • ECM: EngineConnManager

  • ECP: EngineConnPlugin

  • DMS: Data Source Manager Service

  • MDS: MetaData Manager Service

  • LM: Linkis Manager

  • PS: Linkis Public Service

  • PE: Linkis Public Enhancement

  • RPC: Linkis Common RPC

  • CG: Linkis Computation Governance

版本新特性

新特性 1:集成 prometheus,提供 linkis 微服务监控的基础能力

Linkis 是一组分布式的微服务,可以部署在单机、集群或 Kubernetes 环境中,因此需要有一个健壮、灵活的监控机制来监控各个微服务实例的状态。该特性支持了 Linkis 中各个微服务 (包括 EngineConn),通过 API 端口的方式暴露标准的性能指标,随后 Prometheus 可以通过 Eureka 获取服务实例,从这些这些端点动态获取指标,并通过 Grafana 进行可视化展示。

新特性 2:自定义变量设计

为了方便用户在执行代码时,动态替换已预先定义好的公共变量,例如执行时间。该特性实现了变量替换拦截器,来解析出所有代码中用到的变量和表达式,然后通过系统以及用户自定义的变量初始值进行替换,最终再将解析后的代码提交给 EngineConn 执行。

 

新特性 3:EngineConn 历史信息记录特性

1.1.3 版本前,LinkisManager 只记录了在运行中的 EngineConn 的信息和资源使用,但是在任务结束后这些信息就丢失了。为了更好地追溯历史 EC 的使用情况,该特性完成了 EC 信息和资源信息持久化到 DB 的存储,并且支持在前端管理页面,查看已经结束 EC 的日志:

 

新特性 4:EngineConn Metrics 上报

现有 EngineConn 模块,上报信息缺少引擎信息、上报的资源和进度的接口存在冗余。该特性对 EngineConn Metrics 进行优化调整,并且在上报协议中增加扩展模块,进而优化 Metrics 获得过程中的性能。

新特性 5:CS 清理接口特性

1.1.3 版本前,ContextService 统一上下文服务缺少清理机制,且缺少创建时间、更新时间字段以及批量清理的接口, 在长期累积情况下可能出现百万级数据,影响查询效率。对此,该特性在 ContextService 中补充了以上缺失信息,并添加清理清理的 restful 接口,支持按照时间范围、按照 id 列表的批零清理接口。

增强点

  • [ECM] Linkis-2243 优化新注册的 ECM 服务,优化服务负载选择逻辑,减下可能存在的因为新服务可用性问题造成的影响

  • [PS-Jobhistory] Linkis-2198 优化任务代码缓存文件名,增加时间参数,避免长任务存在的冲突问题

  • [EC-Python] Linkis-2175 增加 py4j 的 watchdog 线程,监控 java 进程,防止 java 进程异常退出后,python 进程没有退出的情况

  • [Common] Linkis-2150 common 和 entrance 模块都存在自定义变量替换的逻辑,优化聚集到 common 模块中处理

  • [EC-JDBC] Linkis-2142 修复 JDBC Engine 控制台配置修改后无法立即生效的问题(cache 时间调整为配置项)

  • [Entrance] Linkis-2160 任务提交的消费队列支持配置特定大容量用户

  • [PE] Linkis-2200 标签代码优化,去除标签 key-value 的持久化

  • [EC] Linkis-1749  支持 EC 启动时 ,能够通过参数进行指定服务的端口段的限制

  • [Common-Storage] Linkis-2168 FileSource 中文件类型支持变量配置

  • [Common-Storage] Linkis-2161 新增对结果集导出到 excel 文件时,自动格式化参数的支持

  • [Gateway] Linkis-2249 优化 gateway 的 Parser 逻辑代码

  • [Web] Linkis-2248  用户资源展示页面按用户和创建者排序展示

  • [Web] Linkis-2108 前端页面布局优化调整,统一基本样式,优化二级菜单展示

  • [Install] Linkis-2319  调整数据源服务部署模式,默认为开启;支持安装时,配置初始登陆密码

  • [Install] Linkis-2421  支持安装部署时,配置 kerberos 相关认证信息

  • [EC] Linkis-2159 EC 的 log 日志支持按大小和时间切割滚动

  • [Common-Scheduler] Linkis-2272 优化代码格式增加 LoopArray 单元测试

  • [PS-ContextService] Linkis-2234 在 contextservice 添加了批量清理 context 值的方法

修复功能

  • [EC] Linkis-2275 修复 EC 引擎心跳上报在异常场景下日志字段过长导致存储失败问题

  • [Web] Linkis-2239  修复 yarm 队列资源空闲 / 繁忙状态使用率的环形占比图显示不正确问题

  • [PS-ContextService] Linkis-2226 修复 FileReader 和 BufferedReader 资源在 final 中未释放的问题

  • [Install] Linkis-2203  不同系统编译出现 shell 脚本授权 + x 权限失败问题

  • [Entrance] Linkis-2237 重构 JobQueueLabel 和 JobRunningLabel, 修复任务排队标签和任务运行标签 bug

  • [Build] Linkis-2354  修复 WIN 系统下 编译打包项目存在的 ERROR 级别的警告问题

  • [Gateway] Linkis-2329 修复 LDAP 接入存在的配置问题

  • [Entrance] Linkis-2238 优化结果集路径以日期分隔,解决单个文件夹子目录过多问题 不同日期的 resustset 路径在同一个文件夹,如 “/tmp/linkis/hadoop/linkis/20220516_210525/IDE/40099”,可能会导致一个文件夹下文件太多

  • [Entrance] Linkis-2162 优化结果集路径以日期分隔,解决单个文件夹子目录过多问题

  • [Common] Linkis-2332 关闭 SpringCloud 默认配置中心,减少不必要日志信息的干扰

  • [Web] Linkis-2295 移除 web 安装脚本中多余的代码

安全相关

  • [PS-Jobhistory] Linkis-2248 任务查询列表接口增加参数校验,防止 sql 注入的安全问题

  • [PS-PublicService] Linkis-1949  /api/rest_j/v1/datasource/columns 接口增加用户权限检查

依赖变更

  • [Common] Linkis-2188 升级 poi 5.2.1 至 poi 5.2.2,修复可能出现的内存分配问题

  • [Common] Linkis-2182 升级 gson:2.8.5 至 gson:2.8.9 版本

详细指引

  • 本版本总览: https://linkis.apache.org/zh-CN/docs/latest/release

  • 详细安装部署见指引:https://linkis.apache.org/zh-CN/docs/latest/deployment/quick-deploy

  • 官方下载链接:https://linkis.apache.org/zh-CN/download/main

贡献者寄语

Apache Linkis (incubating) 1.1.3 的发布离不开 Linkis 社区的贡献者,感谢所有的社区贡献者,包括但不仅限于以下 Contributors(排名不分先后):

 

 

— END —

如何成为社区贡献者

 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交 PR 和真正参与到社区的建设。参考攻略:保姆级教程:如何成为 Apache Linkis 文档贡献者

 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/apache/incubator-linkis/issues/1161

 内容贡献:发布 WeDataSphere 开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:

 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等;

 其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;

展开阅读全文
1 收藏
分享
0 评论
1 收藏
分享
返回顶部
顶部