Hive集群高可用配置与impala集群高可用配置

本文详细介绍了如何通过Zookeeper实现HiveServer2和Metastore的高可用性,以及如何在impala中利用Zookeeper进行负载均衡,包括配置步骤、原理和注意事项。

Hive 高可用配置与impala高可用

1. HiveServer2高可用及Metastore高可用

使用Zookeeper实现了HiveServer2的HA功能(ZooKeeper Service Discovery),Client端可以通过指定一个nameSpace来连接HiveServer2,而不是指定某一个host和port

Metastore高可用原理:
Hive Metastore客户端始终使用第一个url连接到metastore服务器,如果Metastore服务器变得无法访问,则客户端从列表中随机选取一个url并尝试与之建立连接

在node1和node3上分别启用两个HiveServer2的实例,并通过zookeeper完成HA的配置。

1.1 node01节点修改hive-site.xml配置

<!--配置hiveserver2高可用-->
<property>
    <name>hive.server2.support.dynamic.service.discovery</name>
    <value>true</value>
</property>
<property>
    <name>hive.server2.zookeeper.namespace</name>
    <value>hiveserver2_zk</value>
</property>
<property>
    <name>hive.zookeeper.quorum</name>
    <value> node01:2181,node02:2181,node03:2181</value>
</property>
<property>
    <name>hive.zookeeper.client.port</name>
    <value>2181</value>
</property>
 <property>
 	<name>hive.server2.thrift.bind.host</name>
  	<value>node01</value>
  </property>
  <!--配置metastore高可用-->
   <property>
    <name>hive.metastore.uris</name>
    <value>thrift://node01:9083,thrift://node03:9083</value>
  </property>

1.2 node03节点同步配置及信息修改

将hive的配置文件scp拷贝到node03节点上,修改node03上的hive-site.xml配置如下:

 <property>
 	<name>hive.server2.thrift.bind.host</name>
  	<value>node03</value>
  </property>

1.3 重启服务

分别重启node01,node03节点上的的hiveServer2和metaStore服务

nohup hive --service hiveserver2 >> ./hiveserver.log 2>&1 &
nohup hive --service metastore >> ./metastore.log 2>&1 &

1.4 在Zookeeper中检查配置

修改完配置后,可通过zookeeper_client命令进行查看,hiveserver2在zookeeper中是否注册成功。

ls /hiveserver2_zk

在这里插入图片描述

1.5 测试验证

1.5.1 验证HiveServer2/mestastore是否是高可用

在node01节点上,杀掉占用10000端口的进程,即杀掉node01的hiveServer2进程

[root@node01 ~]$ netstat -ntpl |grep 10000

在这里插入图片描述

  • node01节点杀死mestastore进程
[root@node01 ~]# ps -ef | grep metastore

kill -9  pid

在这里插入图片描述

  • node01节点metastore和HiveServer2服务进程全部杀死

在这里插入图片描述

  • 发现zookeeper自动切换
  • 在这里插入图片描述
1.5.2 beeline测试连接

!connect jdbc:hive2://node01:2181,node02:2181,node03:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2_zk 用户名 密码

[root@node01 ~]# beeline
beeline> !connect jdbc:hive2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值