在hive服务器端启动hiveserver2(即metastore服务所在的服务器)
hiveserver2
通过beeline连接
有两种连接方式
1.beeline -u jdbc:hive2://localhost:10000/default -n root
2.beeline
!connect jdbc:hive2://node3:10000/default
在beeline进行连接时,可能出现以下问题
19/04/19 18:37:38 [main]: WARN jdbc.HiveConnection: Failed to connect to node3:10000
Error: Could not open client transport with JDBC Uri: jdbc:hive2://node3:10000/default: Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: root is not allowed to impersonate root (state=08S01,code=0)
Beeline version 2.3.4 by Apache Hive
这是因为在hadoop的core-site.xml缺少了以下配置
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
在配置完成后,可以通过重启hadoop集群使配置生效,也可以使用以下命令是配置生效
hdfs dfsadmin -fs hdfs://node1:8020 -refreshSuperUserGroupsConfiguration
hdfs dfsadmin -fs hdfs://node2:8020 -refreshSuperUserGroupsConfiguration
以上两个命令运行在namenode所在的节点上,运行结束后,在hive服务器端启动hiveserver2,这时就可以通过beeline进行连接了