背景需求
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节点
版权声明:本文为xiaohai798原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。