现象:在本地测试hive-jdbc 可以正常访问,但是打包发布liunx系统中,jdbc连接hive 一直卡住,日志无报错
排查过程:
首先 排查网络是否 telnet ip port 是通的
第二 怀疑是依赖hive-jdbc <exclude> 排包问题,去除排除的包,重新发布,还是依然无法连接
第三 使用arthas 跟踪创建连接方法,但是依然没有报错
第四 终极办法 使用远程debug,发现创建连接的时候 报 notFoundClassError异常 ,org/apache/hadoop/conf/Configuration,它是hadoop-common 包中的类,在lib文件间中未找到,但是项目中pom.xml 已经依赖,查看 assembly.xml 打包控制文件,发现 hadoop相关的类在打包 时排除了!
放开限制后,重新打包,发布到服务器时,创建连接成功!