首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Flink1.14.2发布,除了log4j漏洞你还需要关注什么?

Flink1.14.2发布,除了log4j漏洞你还需要关注什么?

作者头像
王知无-import_bigdata
发布2022-01-20 19:16:46
发布2022-01-20 19:16:46
1.3K0
举报

Flink1.14.2 Release版本已经在12月16日发布,主要是修复了Log4j导致的可执行任意代码的漏洞问题,但是还有一些非常重要的功能更新。

我挑了其中比较重要的列出来。

flink-pulsar-connector导致的OOM问题

Pulsar客户端在底层使用的 Netty 在 Java 11 和 Java 8 上分配内存的方式不同。在Java 11 上,它将从 Java 直接内存池中分配内存,并受 MaxDirectMemory限制。当前的Pulsar客户端没有用于控制内存限制的配置选项,这可能导致OOM。

建议用户在JDK8环境下使用Pulsar连接器,或者为Flink开启足够内存。

Table API & SQL

DataStream API and Table API的pipeline name修改为一致

批处理模式下 DataStream API 程序的默认作业名称已从"Flink Streaming Job"更改为"Flink Batch Job"。可以使用配置选项"pipeline.name"设置自定义名称。

fromChangelogStream方法

与 1.13.2 相比,StreamTableEnvironment.fromChangelogStream 方法可能会产生不同的流,因为之前没有正确考虑主键。

Table#flatMap支持新的类型推断

Table.flatMap() 现在支持新的类型系统。用户可以进行功能升级。

为新的 API 方法添加 Scala 隐式转换

在 DataStream API 和 Table API 之间新增新的 Scala 隐式转换。

删除 SQL 客户端中的 YAML 环境文件支持

sql-client-defaults.yaml 文件在 1.13 版本中已弃用,现在已完全删除。作为替代方法,您可以使用 -i 启动选项来执行 SQL 初始化文件以设置 SQL 客户端会话。SQL 初始化文件可以使用 Flink DDL 来定义可用的目录、表源和接收器、用户定义的函数以及其他执行和部署所需的属性。

废弃/删除了一些API

  1. 以下 Maven 模块已重命名:
代码语言:javascript
复制
flink-table-planner-blink -> flink-table-planner
flink-table-runtime-blink -> flink-table-runtime
flink-table-uber-blink -> flink-table-uber

由于删除了 BatchTableEnvironment,BatchTableSource 和 BatchTableSink 也被删除了。请改用 DynamicTableSource 和 DynamicTableSink。

  1. TableEnvironment#connect方法删除
  2. 弃用 toAppendStream 和 toRetractStream
  3. SQL Kafka 连接器和 SQL Elasticsearch 连接器的旧版本及其相应的旧格式已被删除。'connector.type='或'format.type='变更为'connector='选项。
  4. 删除 BatchTableSource/Sink、HBaseTableSource/Sink 和相关类
  5. 删除 BatchTableSource、ParquetTableSource和相关类
  6. 删除 BatchTableSource、OrcTableSource和相关类
  7. PyFlink中删除BatchTableEnvironment和旧planner的使用

DataStream API

修复多个输入操作符的空闲处理

AbstractStreamOperator、Input 等类添加了 processWatermarkStatusX 方法。它允许在两个/多个输入操作符中组合水印时考虑 WatermarkStatus。

POJO字段上可以使用@TypeInfo注解

Connectors

暴露标准化Metrics

使用统一的 Source 和 Sink 接口的连接器将自动暴露某些标准化指标。

KafkaSink 取代了 FlinkKafkaProducer

FlinkKafkaConsumer废弃

Checkpoints

alignmentTimeout语义变更

alignmentTimeout配置的语义已经改变了含义,现在是检查点开始和任务接收到检查点屏障之间的时间。

BROADCAST 禁用未对齐检查点

广播分区不能与未对齐的检查点一起使用。因为无法保证在所有通道中以相同的速率消费数据。这可能导致某些任务应用与某个广播事件相对应的状态更改,而其他任务则不会。还原时,可能会导致状态不一致。

不在支持Apache Mesos

「Mesos is phasing out gradually and has been replaced with Kubernetes in the containerized world」。

准备和Mesos说在再见吧。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据技术与架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • flink-pulsar-connector导致的OOM问题
  • Table API & SQL
    • DataStream API and Table API的pipeline name修改为一致
    • fromChangelogStream方法
    • Table#flatMap支持新的类型推断
    • 为新的 API 方法添加 Scala 隐式转换
    • 删除 SQL 客户端中的 YAML 环境文件支持
    • 废弃/删除了一些API
  • DataStream API
    • 修复多个输入操作符的空闲处理
    • POJO字段上可以使用@TypeInfo注解
  • Connectors
    • 暴露标准化Metrics
    • KafkaSink 取代了 FlinkKafkaProducer
    • FlinkKafkaConsumer废弃
  • Checkpoints
    • alignmentTimeout语义变更
    • BROADCAST 禁用未对齐检查点
    • 不在支持Apache Mesos
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档