背景需求

 hive 在离线分析,数仓中是最常用的工具,业务人员不需要熟悉mr,编程基础就可以通过sql操作数据。hive 的性能及稳定性在生产中必须保证。hive可以通过HAPROXY进行多节点负载均衡来达到目的。、

近期现场环境cdh hadoop平台nn1 所在节点 机器故障,由于hdfs做了HA,namenode自动切换到了nn2,但是hive sql任务配置的连接都是nn1:10000 ,所以任务都出了问题。故决定启用hive Ha

 

前提环境准备

可用的基于cdh搭建的hadoop集群,并且Hdfs 、yarn、hive等安装完毕可用,cloudera manager可用,hdfsHa可用

 

进行配置

  

 1 修改代理token的存储实现类

在这里插入图片描述

修改为org.apache.hadoop.hive.thrift.DBTokenStore

 

在这里插入图片描述

 

 2 增加HiveServer2 实例 

操作如下:

选择一个主机,添加完启动就可以了

 

3 在配置中搜索到 hive-site.xml 的 HiveServer2 高级配置代码段(安全阀)

配置如下两项

在这里插入图片描述

 

应用验证

 

beeline连接验证

登录方式如下

 beeline -u "jdbc:hive2://10.20.10.171:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2_zk"

登陆成功

参数含义:

<zookeeper quorum> 为Zookeeper的集群链接串,如node1:2181,node2:2181,node3:2181
<dbName> 为Hive数据库,默认为default
serviceDiscoveryMode=zooKeeper 指定模式为zooKeeper
zooKeeperNamespace=hiveserver2 指定ZK中的nameSpace,即参数hive.server2.zookeeper.namespace所定义


 

1 停机验证HA

随意停止其中一台HiveServer2

2 查看高可用

正常可用,尝试连接bd1失败后,用的是bd2节点

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐