JDBC连接hive(错误小结)

通过JDBC连接Hive时,需先启动Hive和Hiveserver2。遇到错误1,发现代码沿用的是Hiveserver1的连接方式,需调整为Hiveserver2。错误2涉及Hive的授权问题,修正后可成功连接。测试代码验证了解决方案。
摘要由CSDN通过智能技术生成

JDBC连接hive时,需要首先启动hive,然后再启动hiveserver2,hive --service hiveserver2 &表示hive在后台运行。

错误1: 

java.lang.ClassNotFoundException: org.apache.hadoop.hive.jdbc.HiveDriver

hiveserver2和hiveserver1的连接方式不同,有两处需要修改的,之前我的代码在易百教程上看的,这个教程的连接方式还是hiveserver1的,需要两处地方改正:

private static String driverName = "org.apache.hive.jdbc.HiveDriver";

Connection conn = DriverManager.getConnection("jdbc:hive2://xxx:10000/default", "zh", "");

错误 2:

Cannot connect to hive, user root cannot impersonate anonymous

这个主要是hive的授权问题,在这个地方改正即可:

#方法1:这个在core-site.xml;注意我的下面的属性是我的ubuntu主机名,但是有的人是root,请注意
<property>
        <name>hadoop.proxyuser.你的linux主机名.hosts</name>
        <value>*</v
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值