1.hiveserver只支持单连接,不适用生产环境,生产环境配备hiveserver2,生产环境应具备高可用。
2.配置文件修改,hive-site.xml,保证zk可用
<property>
<name>hive.server2.support.dynamic.service.discovery</name>
<value>true</value>
</property>
<property>
<name>hive.server2.zookeeper.namespace</name>
<value>hiveserver2</value>
</property>
<property>
<name>hive.server2.thrift.bind.host</name>
<value>0.0.0.0</value>
</property>
<property>
<name>hive.zookeeper.quorum</name>
<value>centos-1:2181,centos-2:2181,centos-3:2181</value>
</property>
//在两台机器配置hive,值为主机名就行了,这样可以用web界面分别查看两个hiveserver2状态
<property>
<name>hive.server2.webui.host</name>
<value>centos-1</value>
</property>
3.两台机器分别启动hive –service hiveserver2
4.在zk中查看 ,ls /hiveserver2 在两个子节点
[serverUri=0.0.0.0:10000;version=2.1.1;sequence=0000000003, serverUri=0.0.0.0:10000;version=2.1.1;sequence=0000000004]
5通过beeline连接执行beeline
输入
!connect jdbc:hive2://centos-1:2181,centos-2:2181,centos-3:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2?tez.queue.name=hive1&hive.server2.thrift.resultset.serialize.in.tasks=true
出现结果
INFO jdbc.HiveConnection: Connected to 0.0.0.0:10000
Connected to: Apache Hive (version 2.1.1)
Driver: Hive JDBC (version 2.1.1)