Flink1.11 安装部署及Release 文档解读
- 1. [Flink 1.11 Release 文档解读](https://ci.apache.org/projects/flink/flink-docs-release-1.11/release-notes/flink-1.11.html)
- 2. [构建安装部署](https://ci.apache.org/projects/flink/flink-docs-release-1.11/flinkDev/building.html)
- 3. [导入Flink源码到idea当中](https://ci.apache.org/projects/flink/flink-docs-release-1.11/flinkDev/ide_setup.html)
- 4. 寄语:及时当勉励,岁月不待人。
1. Flink 1.11 Release 文档解读
1.1. 集群和部署
- 支持 Hadoop 3.0 及更高的版本:Flink 不再提供任何
flink-shaded-hadoop-
依赖。用户可以通过配置 HADOOP_CLASSPATH 环境变量(推荐)或在 lib 文件夹下放入 Hadoop 依赖项。另外include-hadoop
Maven profile 也已经被移除了。 - 移除了 LegacyScheduler:Flink 不再支持 legacy scheduler,如果你设置了
jobmanager.scheduler: legacy
将不再起作用并且会抛出 IllegalArgumentException 异常,该参数的默认值并且是唯一选项为 ng。 - 将用户代码的类加载器和 slot 的生命周期进行绑定:只要为单个作业分配了至少一个 slot,TaskManager 就会重新使用用户代码的类加载器。这会稍微改变 Flink 的恢复行为,从而不会重新加载静态字段。这样做的好处是,可以大大减轻对 JVM metaspace 的压力。
- slave 文件重命名为 workers:对于 Standalone 模式安装,worker 节点文件不再是 slaves 而是 workers,以前使用
start-cluster.sh
和stop-cluster.sh
脚本的设置需要重命名该文件 - 完善 Flink 和 Docker 的集成:
Dockerfiles
文件样例和build.sh
Docker 镜像文件都从 Flink GitHub 仓库中移除了,这些示例社区不再提供,因此flink-contrib/docker-flink
、flink-container/docker
和flink-container/kubernetes
模块都已删除了。目前你可以通过查看 Flink Docker integration 官方文档学会如何使用和自定义 Flink Docker 镜像,文档中包含了 docker run、docker compose、docker swarm 和 standalone Kubernetes。
1.2. 内存管理
- JobManager 使用新的内存模型:可以参考 FLIP-116,介绍了 JobManager 新的内存模型,提供了新的配置选项来控制 JobManager 的进程内存消耗,这种改变会影响 Standalone、YARN、Mesos 和 Active Kubernetes。如果你尝试在不做任何调整的情况下重用以前的Flink 配置,则新的内存模型可能会导致 JVM 的计算内存参数不同,从而导致性能发生变化甚至失败,可以参考 Migrate Job Manager Memory Configuration 文档进行迁移变更。
jobmanager.heap.size
和jobmanager.heap.mb
配置参数已经过期了,如果这些过期的选项还继续使用的话,为了维持向后兼容性,它们将被解释为以下新选项之一