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

程序源代码

共 2930字,需浏览 6分钟

 ·

2021-12-28 21:50

点击上方蓝色字体,选择“设为星标”
回复”面试“获取更多惊喜
本文已经加入「大数据成神之路PDF版」中提供下载。
你可以关注公众号,后台回复:
PDF 即可获取。
更多PDF下载可以参考:《重磅,大数据成神之路PDF可以分类下载啦!》

    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 模块已重命名:
    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说在再见吧。


    《大数据成神之路》正在全面PDF化。
    你只需要关注并在后台回复「PDF」就可以看到阿里云盘下载链接了!
    另外我把发表过的文章按照体系全部整理好了。现在你可以在后台方便的进行查找:
    电子版把他们分类做成了下面这个样子,并且放在了阿里云盘提供下载。
    我们点开一个文件夹后:
    如果这个文章对你有帮助,不要忘记 「在看」 「点赞」 「收藏」 三连啊喂!
    Hi,我是王知无,一个大数据领域的原创作者。 
    放心关注我,获取更多行业的一手消息。


    八千里路云和月 | 从零到大数据专家学习路径指南
    互联网最坏的时代可能真的来了
    我在B站读大学,大数据专业
    我们在学习Flink的时候,到底在学习什么?
    193篇文章暴揍Flink,这个合集你需要关注一下
    Flink生产环境TOP难题与优化,阿里巴巴藏经阁YYDS
    Flink CDC我吃定了耶稣也留不住他!| Flink CDC线上问题小盘点
    我们在学习Spark的时候,到底在学习什么?
    在所有Spark模块中,我愿称SparkSQL为最强!
    硬刚Hive | 4万字基础调优面试小总结
    数据治理方法论和实践小百科全书
    标签体系下的用户画像建设小指南
    4万字长文 | ClickHouse基础&实践&调优全视角解析
    【面试&个人成长】2021年过半,社招和校招的经验之谈
    大数据方向另一个十年开启 |《硬刚系列》第一版完结
    我写过的关于成长/面试/职场进阶的文章
    当我们在学习Hive的时候在学习什么?「硬刚Hive续集」
    浏览 36
    点赞
    评论
    收藏
    分享

    手机扫一扫分享

    分享
    举报
    评论
    图片
    表情
    推荐
    点赞
    评论
    收藏
    分享

    手机扫一扫分享

    分享
    举报