解决HBase整合Hive时一直连接地址为localhost2181的zookeeper的问题

时间:2025-03-31 07:13:06

解决HBase整合Hive时一直连接地址为localhost:2181的zookeeper的问题

问题描述

我在搭建HBase集群整合hive的时候,hive一直连接本地的zookeeper,而不是连接HBase集群中配置的zk地址

起初以为HBase中 这个配置没有生效,

export HBASE_MANAGES_ZK=false
  • 1

反复检查了配置,应该是没有问题

检查hive中的zookeeper,也是没有问题的。

最后发现

:默认为 localhost,必须进行配置ZooKeeper 集群的地址,除非zookeeper和hive在同一台服务器。

解决方法

解决方法:

修改hive配置文件

[along@hdp14 ~]$ cd /opt/bigdata/hive
[along@hdp14 hive]$ vim conf/
  • 1
  • 2

添加让如下内容,配置hbase的zookeeper

<!--Hbase 配置-->
<property>
  <name></name>
  <value>hdp16,hdp17,hdp18</value>
</property>
  • 1
  • 2
  • 3
  • 4
  • 5

重启hive,问题解决

附录

一个分布式 HBase 集群的部署运行强烈依赖于 ZooKeeper,在当前的 HBase 系统实现中,ZooKeeper 扮演了非常重要的角色。在配置文件 conf/ 中配置与 ZooKeeper 相关的几个重要配置项:

  • :默认为 localhost,必须进行配置。ZooKeeper 集群的地址。
  • :默认为2181,可以不进行配置。
  • :默认为 /hbase,可以不配置。HBase 在 ZooKeeper 的 zNode 根节点位置,每次 HBase 集群重启 zNode 都会重建,所以如果集群重启的话,重启之前直接删除该 zNode 也是没有问题的。
  • :表示 RegionServer 与 ZooKeeper 之间的会话超时时间,一旦 session 超时,ZooKeeper 就会感知到,通知 Master 将对应的 RegionServer 移出集群,并将该 RegionServer 上所有 Region 迁移到集群中其他RegionServer。