最近在试用JAVA去访问 hive , Impala 服务(我使用的cloudera-manager版本是CDH5.1*.**)
发现一个奇怪的问题,不管hive还是impala, JDBC 的驱动都是jdbc:hive2开头,而且依赖都是
<dependency>
<groupId>org. apache .hive</groupId>
<artifactId>hive-jdbc</artifactId>
<version>${hive.version}</version>
</dependency>
这让我产生了疑问,我到底连的是hive还是impala?
经过一番折腾,搞明白了。
两个链接都是jdbc:hive2开头的,区别就在于服务的端口,
我进入cloudera-manager的管理页面里,点击hive查看配置发现我链接hive的服务端口配置为
那么可以得出结论JDBD链接hive其实是访问的hive的 thrift 服务,端口为10000
## hive驱动
jdbc:hive2://server02:10000/db
而Impala链接的是
hs2_port 值为21050
## impala驱动
jdbc:hive2://server02:21050/db;auth=noSasl
ps:
impala驱动需要加上认证auth=noSasl,否则会连接出错