共計 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 有什么改變”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!