HiveServer2负载均衡

有多个HiveServer2服务时,可以借助Zookeeper服务实现访问HiveServer2的负载均衡,将HiveServer2的压力分担到多个节点上去。本文详细介绍HiveServer2负载均衡的配置及使用方法,请根据EMR集群(普通集群和Kerberos集群)的实际情况进行选择。

hive.server2.support.dynamic.service.discovery

设置为ture

在zooperker要创建相应的zooKeeperNamespace并赋权

复制代码
create /hiveserver2 world:anyone:cdrwa

还有一些其他的配置参数:

复制代码
编辑hive-site.xml

<property>
    <name>spark.deploy.recoveryMode</name>
    <value>ZOOKEEPER</value>
 </property-->
<!--设置hiveserve支持动态-->

<property>
	<name>hive.server2.support.dynamic.service.discovery</name>
	<value>true</value>
</property>

<!--设置hiveserver2的命名空间-->

<property>
<name>hive.server2.zookeeper.namespace</name>
<value>hiveserver2_zk</value>
</property>

<!--设置zk集群的客户端地址-->
<property>
<name>hive.zookeeper.quorum</name>
<value>node5:2181,node4:2181,node3:2181</value>
</property>

<!--指定zk的端口,这个是否可以去掉,因为上一步已经配置了端口,由于时间关系,我没有做测试,有兴趣可以测试一下-->
<property>
<name>hive.zookeeper.client.port</name>
<value>2181</value>
</property>

<!--指定hive.server2.thrift.bind.host-->
<property>
<name>hive.server2.thrift.bind.host</name>
<value>0.0.0.0</value>
</property>
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value> //两个HiveServer2实例的端口号要一致
</property>

重启hive服务

就可以去进行连接连接的测试

beeline -u 'jdbc:hive2://master-1-1:2181,master-1-2:2181,master-1-3:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2'

相关推荐
weixin_3077791330 分钟前
Linux下Nginx故障系统化检查Shell脚本
linux·运维·服务器·nginx·自动化
jieyucx2 小时前
Docker 入门第一阶段:建立正确认知与初体验
运维·docker·容器
qetfw4 小时前
CentOS 7 基础环境配置
linux·运维·centos
jieyucx5 小时前
Docker 入门第二阶段:掌握日常命令
运维·docker·容器
随性而行3605 小时前
微信API接口与AI自动化:开发者的实现思路
运维·服务器·开发语言·人工智能·微信·自动化
胖兔纸27 小时前
OpenStack 1.7.2 & Ceph 9.2.1 运维命令
运维·ceph·openstack
不会C语言的男孩8 小时前
Docker 在嵌入式设备中的常用玩法
运维·docker·容器
ylscode8 小时前
CVE-2026-31694 漏洞深度分析:Linux 内核 FUSE 组件存在本地提权风险,普通用户可直取 root 权限
linux·运维·服务器
智脑API平台9 小时前
Codex CLI 怎么用 .env 配置 API Key?本地项目和自动化脚本接入教程
运维·自动化
weixin_307779139 小时前
Linux下Docker Compose里运行的MySQL数据库故障诊断Shell脚本
linux·运维·mysql·docker·自动化