Java操作Hive中的常见问题

一、启动好HiveServer后运行:
beeline -u jdbc:hive2://localhost:10000 -n root 连接server时:

java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: root is not allowed to impersonate hive
    at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:591)
    at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:526)
    at org.apache.hive.service.cli.session.HiveSessionImpl.open(HiveSessionImpl.java:168)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:78)
    ... 21 more

解决办法:
原因是User: root is not allowed to impersonate hive中用户名报错,则需要修改hadoop 配置文件 etc/hadoop/core-site.xml,加入如下配置项:

<property>
    <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
</property>

二、启动服务时,错误信息中出现:

ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.

解决办法:
检查log4j2文件名,将hive-log4j2.properties文件名修改为log4j2.properties。


未完待续…

猜你喜欢

转载自blog.csdn.net/JerryWangJY/article/details/79195404