Hive Ha配置手把手详解-基于zookeeper配置cdh集群的HiveServer2负载均衡
1.1 修改代理token的存储实现类修改为org.apache.hadoop.hive.thrift.DBTokenStore1.2 增加HiveServer2 实例1.3 在配置中搜索到 hive-site.xml 的 HiveServer2 高级配置代码段(安全阀)配置如下两项<!--默认为false,配置为true HiveServer2会动态分配客户端--><prope
·
背景需求
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节点
更多推荐
已为社区贡献1条内容
所有评论(0)