美文网首页
hiveserver2 的HA 配置

hiveserver2 的HA 配置

作者: 早点起床晒太阳 | 来源:发表于2020-04-16 11:06 被阅读0次

    1、作用

    如果只是使用一台服务来启动hiveserver2,那么如果hiveserver2挂掉便不能提供jdbc的支持。hive 支持hiveserver2 HA,用于进行负载均衡和高可用
    Hive从0.14开始,使用Zookeeper实现了HiveServer2的HA功能,Client端可以通过指定一个nameSpace来连接HiveServer2,而不是指定某一个host和port。

    2、具体配置

    具体配置如下 (在hive-site.xml中或者hiveserver2-site.xml 进行配置,这里注意 如果你在hiveserver2-site.xml 和hive-site.xml 均配置了一个参数,hiveserver2-site.xml将会覆盖hive-site.xml中的参数)

    <property>
    <name>hive.server2.support.dynamic.service.discovery</name>
    <value>true</value>  //设置为true(默认为false),以便为其客户端启用HiveServer2动态服务发现
    </property>
     
    <property>
    <name>hive.server2.zookeeper.namespace</name>
    <value>hiveserver2_zk</value>   //这个是在zookeeper的目录(存储hiverserver2多个服务的信息)
    </property>
     
    <property>
    <name>hive.zookeeper.quorum</name>
    <value>shujuyun01:2181,shujuyun02:2181,shujuyun03: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>10000</value> //两个HiveServer2实例的端口号要一致
    </property>
    

    3、启动

    启动一个服务的hiverserver2

    nohup hive --service hiveserver2 > /opt/beh/logs/hive/hiveserver2.log 2>&1 &

    查看日志和端口,是否正常启动,启动正常进入zookeeper Cli,查看在hiveserver2_zk 下面右面有相关节点的信息,

    [zk: shujuyun01-cuidong:2188(CONNECTED) 2] ls /hiveserver2_zk
    [serverUri=shujuyun02-cuidong.novalocal:10000;version=2.3.3;sequence=0000000014]
    

    再启动另外一个hiveserver2,启动成功发现 (多了一个hiveserver2的注册信息)

    [zk: shujuyun01-cuidong:2188(CONNECTED) 2] ls /hiveserver2_zk
    [serverUri=shujuyun02-cuidong.novalocal:10000;version=2.3.3;sequence=0000000014, serverUri=shujuyun01-cuidong.novalocal:10000;version=2.3.3;sequence=0000000017]
    

    由此可以发现
    其实就是将多个hiveserver2的服务信息注册到zookeeper,然后当请求来的时候轮询获取url信息,来达到高可用和负载均衡的效果。

    4、连接

    编写JDBC url 尝试使用beeline 访问

    /opt/beh/core/hive/bin/beeline -u "jdbc:hive2://shujuyun01-cuidong:2188,shujuyun02-cuidong:2188,shujuyun03-cuidong:2188/zgh;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2_zk"

    相关文章

      网友评论

          本文标题:hiveserver2 的HA 配置

          本文链接:https://www.haomeiwen.com/subject/olblvhtx.html