Flink1.9.0升级到Flink1.12.1问题汇总


业务场景:

Flink消费Kafka数据写入Hbase

组件版本:

CDH:6.3.0

Flink:1.12.1

Hbase:2.1.0-cdh6.3.0

问题1:

java.lang.NoSuchMethodError:org.apache.commons.cli.Option.builder(Ljava/lang/string;)

 

问题原因:

hadoop-common依赖中commons-cli版本过低,导致程序运行找不到最新版的方法

解决办法:

剔除Hadoop中commons-cli的依赖,并添加高版本依赖


org.apache.hadoop
hadoop-common
3.0.0


commons-cli
commons-cli




问题2:

Flink-Connector-Kafka-0.11_2.11依赖找不到

问题原因:

Flink1.12.1已经不支持Flink-Connector-Kafka-0.11_2.11

解决办法:

依赖统一替换为:flink-connector-kafka_2.11

问题3:

Keyby timwindow方法过时,同样代码,在升级到1.12.1之后,运行异常:notifyHeartbeatTimeout

 起初是消费kafka通过keyby+窗口写入到kafka,但升级之后一直无法运行,下游收不到任何数据,程序运行几分钟之后就开始报错

 此问题还在排查中,目前先通过其他方式运行