尝试从beeline连接到hiveserver2时出现以下错误
Error: Could not establish connection to jdbc:hive2://localhost:10000/default: Required field 'serverProtocolVersion' is unset!
我在hadoop2.7.3,hive 2.1.1,来自spark 2.1.0 for beoop 2.7的直线客户端,全部在Mac OS-X 10上运行,带有hive-jdbc-2.1.1-standalone.jar
同样的错误也在消息的后面部分提到了以下
(User: hv is not allowed to impersonate anonymous), serverProtocolVersion:null)
我在hive-site.xml中设置了以下内容
<property>
<name>hive.server2.enable.impersonation</name>
<description>Enable user impersonation for HiveServer2</description>
<value>true</value>
</property>
<property>
<name>hive.server2.enable.authentication</name>
<description>Enable user impersonation for HiveServer2</description>
<value>NONE</value>
</property>
<property>
<name>hive.server2.enable.doAs</name>
<value>true</value>
</property>
<property>
<name>hive.metastore.execute.setugi</name>
<value>true</value>
<description>
...
</description>
</property>
以及core-site.xml中的以下内容
<property>
<name>hadoop.proxyuser.hv.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hv.groups</name>
<value>*</value>
</property>
不确定serverProtocolError是否导致模拟问题或其他原因。 Pl帮助
答案 0 :(得分:0)
请通过在hive-site.xml
中设置以下属性来尝试<property>
<name>hive.server2.allow.user.substitution</name>
<value>true</value>
</property>