具体报错:
[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: xxxx is not allowed to impersonate xxxx?(state=08S01,code=0) Beeline version 3.1.2 by Apache Hive ?
解决方案:
修改hive-site.xml
修改或添加如下配置
<property> ? ? <name>hive.server2.enable.doAs</name> ? ? <value>false</value> ? </property> ?
重新启动,再次连接就ok了
该配置的含义:
默认情况下,HiveServer2以提交查询的用户身份执行查询处理。但是,如果以下参数设置为false,则查询将以运行hiveserver2 进程的用户身份运行。
hive.server2.enable.doAs - 模拟连接的用户,默认为true。
要防止在不安全模式下发生内存泄漏,请通过将以下参数设置为true来禁用文件系统缓存(请参阅 HIVE-4501):
|