温馨提示×

centos怎么连接hbase

小樊
41
2026-09-18 12:38:42
栏目: 智能运维

CentOS 上“连接 HBase”通常有两种场景:

  1. CentOS 作为客户端,连接已有的 HBase 集群
  2. CentOS 上搭建并启动 HBase(单机/伪分布式/集群)

下面分别说明,最常用的是第一种。


一、CentOS 作为客户端连接 HBase(常见)

1. 前置条件

  • 已安装 JDK 8(HBase 2.x 一般要求 JDK 8)
  • 已知 HBase 的 ZooKeeper 地址和端口
  • 网络能访问 HBase 的 ZooKeeper(默认 2181)

2. 安装 HBase 客户端

# 下载 HBase(版本要和 HBase 服务端一致)
wget https://archive.apache.org/dist/hbase/2.4.17/hbase-2.4.17-bin.tar.gz
tar -zxvf hbase-2.4.17-bin.tar.gz
mv hbase-2.4.17 /opt/hbase

3. 配置客户端

编辑:

vi /opt/hbase/conf/hbase-site.xml

最小配置示例:

<configuration>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>hbase-host1,hbase-host2,hbase-host3</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2181</value>
  </property>
</configuration>

4. 使用 HBase Shell 连接

/opt/hbase/bin/hbase shell

连接成功后:

status
list

二、使用 Java 程序连接 HBase

Maven 依赖

<dependency>
  <groupId>org.apache.hbase</groupId>
  <artifactId>hbase-client</artifactId>
  <version>2.4.17</version>
</dependency>

Java 示例

Configuration config = HBaseConfiguration.create();
config.set("hbase.zookeeper.quorum", "hbase-host1");
config.set("hbase.zookeeper.property.clientPort", "2181");

Connection conn = ConnectionFactory.createConnection(config);
Admin admin = conn.getAdmin();
System.out.println(admin.listTables());

三、CentOS 本地启动 HBase(单机模式)

适合测试:

# 配置 JAVA_HOME
vi /opt/hbase/conf/hbase-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_xxx

# 启动
/opt/hbase/bin/start-hbase.sh

# 进入 shell
/opt/hbase/bin/hbase shell

单机模式使用本地文件系统,不需要 Hadoop


四、常见问题

1. 连接超时

  • 防火墙未关
systemctl stop firewalld
  • ZooKeeper 端口不通
telnet hbase-host 2181

2. 版本不一致

HBase 客户端和服务端大版本必须一致

3. Kerberos 集群

需要:

  • kinit
  • hbase-site.xml 配置 hbase.security.authentication=kerberos

如果你能告诉我:

  • ✅ HBase 是否已部署
  • ✅ 用 shell / Java / Python
  • ✅ 是否启用了 Kerberos

我可以给你更精确的命令和配置

0