hive配置高可用

基于前面的基础部署 https://blog.csdn.net/fly0512/article/details/100863889
需要zookeeper ,部署及配置略。
主要是配置hiveserver2注册到zk,通过zk实现服务切换,不是完全严格意义的HA,当Hive存在内部错误,但是hiveserver2服务没断开的时候,会出现仍然会把无效的服务注册到zk的问题。
暂时的解决办法是:通过监控去检测Hive服务的真实状态,当检测到真实状态为故障时,将hiveserver2断开,避免jdbc通过zk调用到故障的服务。

1、配置hive-site.xml及分发各节点
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/user/hive/warehouse</value>
    </property>
    <property>
        <name>hive.exec.mode.local.auto</name>
        <value>true</value>
        <description> Let Hive determine whether to run in local mode automatically </description>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
		#各节点配置Mysql所在ip地址
    </property>
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>hive</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>qingfeng@123</value>
    </property>
    <!-- 显示表的列名 -->
    <property>
      <name>hive.cli.print.header</name>
      <value>true</value>
    </property>
    
    <!-- 显示数据库名称 -->
    <property>
      <name>hive.cli.print.current.db</name>
      <value>true</value>
    </property>
<property>
    <name>hive.server2.authentication</name>
    <value>NONE</value>
</property>

         <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>qingfeng08.net:2181,qingfeng10.net:2181,qingfeng11.net:2181</value>
          </property>
             
          <property>
            <name>hive.zookeeper.client.port</name>
            <value>2181</value>
          </property>
             
             
          <property>
            <name>hive.server2.thrift.bind.host</name>
            <value>0.0.0.0</value>
          </property>
             
          <property>
            <name>hive.server2.thrift.port</name>
            <value>10001</value> //两个HiveServer2实例的端口号要一致
          </property>

</configuration>

2、各节点启动hivemeta、hiveserver2服务
nohup hive --service metastore -p 9083 &
nohup hive --service hiveserver2 &

3、连接zk查看
./zkCli.sh -server qingfeng08.net:2181,qingfeng10.net:2181,qingfeng11.net:2181
ls /hiveserver2_zk
显示2个节点就是OK了
[serverUri=0.0.0.0:10001;version=3.1.2;sequence=0000000001, serverUri=0.0.0.0:10001;version=3.1.2;sequence=0000000003]

4、beeline连接测试
./beeline
!connect jdbc:hive2://qingfeng08.net:2181,qingfeng10.net:2181,qingfeng11.net:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2_zk user ""

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值