Hive_使用JDBC访问Hive

场景:使用JDBC方式访问Hive报错时遇到如下错误
[cannice@hadoop102 hive]$ bin/beeline -u jdbc:hive2://hadoop102:10000 -n cannice Connecting to jdbc:hive2://hadoop102:10000 22/07/21 04:51:58 [main]: WARN jdbc.HiveConnection: Failed to connect to hadoop102:10000 Error: Could not open client transport with JDBC Uri: jdbc:hive2://hadoop102:10000: Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: cannice is not allowed to impersonate cannice (state=08S01,code=0) Beeline version 3.1.2 by Apache Hive
原因: 默认情况下HiveServer2 执行查询时使用的用户是提交查询的用户,但是如果将这个选项设置为false,查询将会使用运行hiveserver2的用户。
解决方法:修改hive中的配置文件hive-site.xml,添加如下信息即可解决问题。(注意重启服务)
<property>
<name>hive.server2.enable.doAs</name>
<value>false</value>
</property>

大数据-Hive-常见错误-使用JDBC访问Hive
浙公网安备 33010602011771号