案例场景:flink实时数仓项目,在建设dwd层时,通过flinkcdc监控配置表。
当在配置表中指定某个业务表的数据发送到phoenix时,就自动将业务数据写入phoenix。
当在配置表中指定某个业务表的数据发送到kafka时,就自动将业务数据发送到kafka。
这样在从源头kafka消费业务数据时,然后通过connect链接已经广播的配置表,这样可以自动的根据配置表来分流到不同的存储方式中去,实现自动化分流。
本地环境是:hadoop3.1.3、hbase2.4.3
当时在phoenix中有对应的client的jar包,于是就把这个jar包拷贝下来,放到flink项目中。
然后忘记引入了这个包,并且还加了其他的包
此时,简单的查询phoenix已经可以了,但是出现一个奇怪的现象。
用简单的jdbc查询时,运行上面这个程序,会一直卡在执行结果最后。
上面的phoenix的表结果已经查询到,但是进程不结束,卡了大约1分钟后自动断开。
好奇葩的现象,这里的日志啥也没显示,好像是连接到zk后,无法释放那样。
解决过程:花了3天多,找了好多依赖包也没有解决,最后拿原始项目程序运行发现没有这个现象。
所以就完整的比对文件和POM中的依赖包都没有问题,然后重新建立了建立一个项目时,发现是好好的,就在最终心灰意冷时,在比对project Structure时,发现多出来的那个jar包,
于是删除那个jar包后,然后reload下依赖包,重新执行程序,问题解决。