java引用hive高可用连接hive_Hive扩展功能(五)--HiveServer2服务高可用

软件环境:

linux系统: CentOS6.7

Hadoop版本: 2.6.5

zookeeper版本: 3.4.8

##主机配置:

######一共m1, m2, m3这五部机, 每部主机的用户名都为centos

```

192.168.179.201: m1

192.168.179.202: m2

192.168.179.203: m3

m1: Zookeeper, Namenode, DataNode, ResourceManager, NodeManager, Master, Worker

m2: Zookeeper, Namenode, DataNode, ResourceManager, NodeManager, Worker

m3: Zookeeper, DataNode, NodeManager, Worker

#####资料:

---

####1.编辑hive-site.xml文件

vi $HIVE_HOME/conf/hive-site.xml

spark.deploy.recoveryMode

ZOOKEEPER

hive.server2.support.dynamic.service.discovery

true

hive.server2.zookeeper.namespace

hiveserver2_zk

hive.zookeeper.quorum

m1:2181,m2:2181,m3:2181

hive.zookeeper.client.port

2181

```

####2.检验是否在zookeeper上注册

1. 先启动第一部需要服务高可用的主机上的HiveServer2服务

```

sh $HIVE_HOME/bin/hiveserver2

```

2. 再启动第二部需要服务高可用的主机上的HiveServer2服务

```

sh $HIVE_HOME/bin/hiveserver2

```

3. 在zookeeper所在的主机上查看

```

sh $ZK_HOME/bin/zkCli.sh

```

```

ls /

```

####3.测试连接JDBC

####JDBC连接的URL规范:

```

jdbc:hive2:///;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=nameSpace

```

语法解析:

# 为Zookeeper的集群链接串,如zkNode1:2181,zkNode2:2181,zkNode3:2181

# 为Hive数据库(可不填, 默认为default)

serviceDiscoveryMode=zooKeeper # 指定模式为zooKeeper

zooKeeperNamespace=nameSpace # 指定ZK中的nameSpace,即参数hive.server2.zookeeper.namespace所定义,在hive-site.sh中定义为hiveserver2_zk

测试连接:

(1)启动beeline服务:

sh $HIVE_HOME/bin/beeline

(2)在beeline中输入以下连接指令:

!connect jdbc:hive2://m3:2181,m4:2181,m5:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2_zk

(3)如没使用HiveServer2服务高可用是,则连接beeline使用下列指令:

!connect jdbc:hive2://m1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值