【phoenix】flink程序执行phoenix,phoenix和flink-sql-connector-hbase包类不兼容

问题报错

复制代码
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: class org.apache.flink.hbase.shaded.org.apache.hadoop.hbase.client.ClusterStatusListener$MulticastListener not org.apache.hadoop.hbase.client.ClusterStatusListener$Listener

如下图:interface是在ClusterStatusListener中的内部接口,flink编译中hbase包 shade掉了,即更改了类路径,使其以org.apache.flink.hbase.shaded.开头,而phoenix-5.0.0-client.jar没有对hbase类路径修改。

flink 程序一般优先加载flink-开头的jar包,所以同时加载了flink-sql-connector-hbase.jar包的部分类和phoenix-5.0.0-client.jar的类,而这两个包之前的类可能因类路径不一致存在不兼容关系。

flink-sql-connector-hbase.jar的类路径:

phoenix-5.0.0-client.jar的类路径:

解决方式

(1)方法一:如果至用到phoenix,直接删除flink-hbase相关的包即可。

(2)方法二:重新编译flink-hbase源码取消shade hbase包。

相关推荐
expect7g6 小时前
Paimon源码解读 -- Compaction-4.KeyValueFileStoreWrite
大数据·flink
expect7g7 小时前
Paimon源码解读 -- FULL_COMPACTION_DELTA_COMMITS
大数据·后端·flink
梦里不知身是客1111 小时前
flink使用 DefaultResourceCalculator(默认资源计算器) 策略
大数据·flink
Jackyzhe13 小时前
Flink学习笔记:反压
大数据·flink
Jackeyzhe1 天前
Flink学习笔记:状态类型和应用
flink
Hello.Reader2 天前
用 Python 跑通第一个 Flink ML 项目KMeans 聚类从本地到集群实战
python·flink·kmeans
Hello.Reader2 天前
Flink SQL 的 LIMIT 子句语义、坑点与实战技巧
sql·flink·wpf
Hello.Reader2 天前
Flink SQL 集合运算UNION / INTERSECT / EXCEPT 以及 IN / EXISTS 在流式场景下怎么用?
数据库·sql·flink
Hello.Reader2 天前
Flink SQL 中的 ORDER BY 子句批处理 vs 流处理的排序语义
大数据·sql·flink
Jackyzhe2 天前
Flink学习笔记:状态后端
大数据·flink