共计 1881 个字符,预计需要花费 5 分钟才能阅读完成。
这篇文章给大家分享的是有关 flink1.9.1 升级到 flink1.12.1 有什么改变的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。
内存配置
在 1.10 和_1.11_版本中,Flink 分别对 TaskManager 和 JobManager 的内存配置方法做出了较大的改变。部分配置参数被移除了,或是语义上发生了变化。
jobmanager.heap.size
jobmanager.heap.mb
尽管这两个参数以“堆(Heap)”命名,在此之前它们实际上只有在独立部署模式才完全对应于 JVM 堆内存。在容器化部署模式下(Kubernetes 和 Yarn),它们指定的内存还包含了其他堆外内存部分。 JVM 堆空间的实际大小,是参数指定的大小减去容器切除(Cut-Off)内存后剩余的部分。容器切除内存在 1.11 及以上版本中已被彻底移除。
上述两个参数此前对 Mesos 部署模式并不生效。Flink 在 Mesos 上启动 JobManager 进程时并未设置任何 JVM 内存参数。从 1.11 版本开始,Flink 将采用与独立部署模式相同的方式设置这些参数。
这两个配置参数目前已被弃用。如果配置了上述弃用的参数,同时又没有配置与之对应的新配置参数,那它们将按如下规则对应到新的配置参数。
独立部署模式(Standalone Deployment)、Mesos 部署模式下:JVM 堆内存(jobmanager.memory.heap.size)
容器化部署模式(Containerized Deployement)下(Kubernetes、Yarn):进程总内存(jobmanager.memory.process.size)
建议您尽早使用新的配置参数取代启用的配置参数,它们在今后的版本中可能会被彻底移除。
如果仅配置了 Flink 总内存或进程总内存,那么 JVM 堆内存将是总内存减去其他内存部分后剩余的部分。请参考如何配置总内存。此外,也可以通过配置 jobmanager.memory.heap.size 的方式直接指定 JVM 堆内存。
新的内存配置要求用户至少指定下列配置参数(或参数组合)的其中之一,否则 Flink 将无法启动。
TaskManager: JobManager: taskmanager.memory.flink.sizejobmanager.memory.flink.sizetaskmanager.memory.process.sizejobmanager.memory.process.sizetaskmanager.memory.task.heap.size 和
taskmanager.memory.managed.sizejobmanager.memory.heap.size
在原本的内存配置方法中,用于指定 JVM 堆内存 的配置参数是:
修改配置
jobmanager.heap.size: 1024m — jobmanager.memory.process.size: 1024m
taskmanager.heap.size: 2048m — taskmanager.memory.flink.size: 2048m
代码修改
flink 的版本升级:flink.version 1.9.1 /flink.version — flink.version 1.12.1 /flink.version
kafka connector 版本升级:artifactId flink-connector-kafka-0.11_${scala.binary.version} /artifactId — artifactId flink-connector-kafka_2.11 /artifactId
废弃方法去除:env.getConfig().disableSysoutLogging(); — //env.getConfig().disableSysoutLogging();
消费者:FlinkKafkaConsumer011 String consumer = new FlinkKafkaConsumer011 ( — FlinkKafkaConsumer String consumer = new FlinkKafkaConsumer (
感谢各位的阅读!关于“flink1.9.1 升级到 flink1.12.1 有什么改变”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!