我有三台ubuntu服务器,手把手教我从0搭建HBase,然后往里存一些数据。

及途又八 / 2025-01-25 / 原文

好的,我们可以一步步来搭建一个基本的 HBase 集群,并在里面存储一些数据。这里的步骤包括在三台 Ubuntu 服务器上配置 HBase 所需的依赖、安装 HBase、配置和启动集群、测试存储和查询数据。假设这三台服务器的 IP 地址分别为 192.168.1.101192.168.1.102192.168.1.103,其中第一台服务器将作为 HBase 的 主节点,另外两台作为 Region Server 节点。

1. 准备工作

1.1 更新系统

sudo apt update
sudo apt upgrade -y

1.2 安装 Java:HBase 依赖于 Java 运行环境(JDK 1.8 或更高版本)。我们安装 OpenJDK。

sudo apt install openjdk-8-jdk -y

1.3 验证 Java 版本

java -version
# 确保显示 Java 版本信息,确认安装成功

1.4 下载 HBase:在主节点上执行以下命令(可以选择使用 wget 或从 Apache HBase 官网下载最新版)。

wget https://archive.apache.org/dist/hbase/2.4.10/hbase-2.4.10-bin.tar.gz
tar -zxvf hbase-2.4.10-bin.tar.gz
sudo mv hbase-2.4.10 /usr/local/hbase

2. 配置 SSH 免密登录

为了方便集群操作,我们需要配置主节点与各 Region Server 之间的 SSH 免密登录。

2.1 在主节点上生成 SSH 密钥

ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa

2.2 将公钥分发到各节点

ssh-copy-id user@192.168.1.101
ssh-copy-id user@192.168.1.102
ssh-copy-id user@192.168.1.103

2.3 测试免密登录

ssh user@192.168.1.102

3. 配置 HBase

3.1 在主节点和 Region Server 节点上都解压 HBase

将 HBase 解压后的目录 /usr/local/hbase 分发到所有节点上,保持路径一致,或在每台机器上重复解压步骤。

3.2 配置 HBase 环境变量

在每台机器上编辑 ~/.bashrc 文件,添加以下内容:

export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HBASE_HOME/bin

然后使配置生效:

source ~/.bashrc

3.3 配置 HBase 配置文件

编辑 /usr/local/hbase/conf/hbase-site.xml,在每台机器上保持相同配置。

<configuration>
    <!-- HBase root directory in HDFS -->
    <property>
        <name>hbase.rootdir</name>
        <value>file:///usr/local/hbase/data</value>
    </property>

    <!-- Zookeeper quorum configuration (主节点IP) -->
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>192.168.1.101</value>
    </property>

    <!-- RegionServer 地址 -->
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
</configuration>

3.4 配置 Zookeeper 节点

/usr/local/hbase/conf/regionservers 文件中,添加每个 Region Server 的 IP 地址,确保 HBase 可以识别集群中的每个节点。

192.168.1.102
192.168.1.103

4. 启动 HBase 集群

在主节点上,运行以下命令:

4.1 启动 Zookeeper

$HBASE_HOME/bin/start-hbase.sh

4.2 验证启动状态

$HBASE_HOME/bin/hbase shell

5. 在 HBase 中存储数据

进入 HBase Shell 后,可以开始存储一些数据。

5.1 创建一个表

create 'my_table', 'cf'

5.2 插入数据

put 'my_table', 'row1', 'cf:col1', 'value1'
put 'my_table', 'row1', 'cf:col2', 'value2'
put 'my_table', 'row2', 'cf:col1', 'value3'

5.3 读取数据

get 'my_table', 'row1'
scan 'my_table'

6. 验证集群和数据

可以通过访问 http://192.168.1.101:16010 进入 HBase Web UI 查看集群状态。

总结

通过以上步骤,我们在三台 Ubuntu 服务器上搭建了一个简单的 HBase 集群,完成了数据存储的基本操作。