搭建分布式HBase集群

yaml 复制代码
title: 搭建分布式HBase集群
date: 2024-11-28 23:27:00
categories: 
- 服务器
tags:
- HBase
- 大数据

搭建分布式HBase集群

  • 本次实验环境:Centos 7-2009、Hadoop-3.1.4、JDK 8、Zookeeper-3.6.3、Hbase-2.4.11

功能规划

Master Slave1 Slave2
主节点 从节点 从节点
HRegionServer HRegionServer HRegionServer
192.168.66.6 192.168.66.7 192.168.66.21

前提

  • 搭建好Hadoop集群以及ZooKeeper集群,并启动

开始安装

1. 安装程序文件

  • 首先上传HBase的文件到服务器上,或直接进行以下的下载行为
bash 复制代码
# 使用wget命令下载Hbase文件(二选一)
wget -P /tmp/ -c 'https://repo.huaweicloud.com/artifactory/apache-local/hbase/2.4.11/hbase-2.4.11-bin.tar.gz'

# 使用curl命令下载Hbase文件(二选一)
curl -C - 'https://repo.huaweicloud.com/artifactory/apache-local/hbase/2.4.11/hbase-2.4.11-bin.tar.gz' -O /tmp/

# 解压文件到指定目录
 tar -zxvf /tmp/hbase-2.4.11-bin.tar.gz -C /opt/module/

# 重命名文件夹
 mv /opt/module/hbase-2.4.11/ /opt/module/hbase

2. 配置用户环境变量

bash 复制代码
cat >>  ~/.bashrc << "EOF"

# ------------------- Hbase 配置--------------------
# 设置HBASE环境变量,指向HBASE安装目录
export HBASE=/opt/module/hbase

# 将HBASE的bin目录添加到PATH环境变量
export PATH=$PATH:$HBASE/bin
# -------------------------------------------------
EOF
bash 复制代码
-----------------------------------------------------------
                          说明

举例   export PATH=$HBASE/bin:$PATH

英文冒号代表分隔

这段代码表示
1. 当你输入一个命令时,shell会首先在"HBASE"这个变量的"bin"子目录中查找,
2. 最后,若找不到,则在"PATH"的指定目录中查找

-------------------------------------------------------------

3. 修改hbase配置文件

bash 复制代码
# 进入Hbase的配置文件目录
cd /opt/module/hbase/conf
3.1 配置hbase使用外部Zookeeper(二选一)
bash 复制代码
# 将hase-env.sh文件中HBASE_MANAGES_ZK=true修改为HBASE_MANAGES_ZK=false
sed -i 's|# export HBASE_MANAGES_ZK=true|export HBASE_MANAGES_ZK=false|' hbase-env.sh
3.2 配置hbase使用内部zookeeper(二选一)
bash 复制代码
# 将hase-env.sh文件中HBASE_MANAGES_ZK=true修改为HBASE_MANAGES_ZK=false
sed -i 's|# export HBASE_MANAGES_ZK=true|export HBASE_MANAGES_ZK=true|' hbase-env.sh
3.3 修改hbase-site.xml文件
bash 复制代码
# 注释原本的标签内容
sed -i '41a <!--' hbase-site.xml
sed -i '54a -->' hbase-site.xml
bash 复制代码
根据自己节点的信息,修改下面内容的主机名,随后复制粘贴即可
bash 复制代码
# 一键新增hbase配置
sed -i '55a \
<!-- 指定hbase在hdfs上数据位置 --> \
  <property> \
    <name>hbase.rootdir</name> \
    <value>hdfs://master:8020/hbase</value> \
  </property> \
<!-- 指定集群的运行模式,ture代表分布式,flase代表单机模式 --> \
  <property> \
    <name>hbase.cluster.distributed</name> \
    <value>true</value> \
  </property> \
<!-- 指定zookeeper的主机 --> \
  <property> \
    <name>hbase.zookeeper.quorum</name> \
    <value>master,slave1,slave2</value> \
  </property> \
<!-- 指定Hbase是否检查流功能 --> \
  <property> \
    <name>hbase.unsafe.stream.capability.enforce</name> \
    <value>true</value> \
  </property>' hbase-site.xml
3.4 修改regionservers文件
  • 这个文件是配置类似于hadoop中的workers
bash 复制代码
# 清空原本配置
echo "" > regionservers

# 根据自己的节点信息修改主机名,随后复制粘贴
cat > regionservers << EOF
master
slave1
slave2
EOF

4. 分发文件

bash 复制代码
# 同步到slave1机器
scp -r /opt/module/hbase/ slave1:/opt/module/
scp  ~/.bashrc root@slave1:/root

# 同步到slave2机器
scp -r /opt/module/hbase/ slave2:/opt/module/
scp  ~/.bashrc root@slave2:/root

5. 环境变量生效

bash 复制代码
# master节点环境变量生效
source  ~/.bashrc

# slave1节点环境变量生效
ssh slave1 'source  ~/.bashrc'

# slave2节点环境变量生效
ssh slave2 'source  ~/.bashrc'

安装结束

6. 启动Hbase

bash 复制代码
$HBASE/bin/start-hbase.sh

7. 查看Hbase进程

  • master会有HMasterHRegionServer的进程

  • slave1会有HRegionServer的进程

  • slave2会有HRegionServer的进程

bash 复制代码
# 命令
jps

停止Hbase

bash 复制代码
$HBASE/bin/stop-hbase.sh

参考文档

  1. Hbase2.4.11安装_hbase-2.4.11-bin.tar.gz-CSDN博客

  2. HBase2.4.1全分布式安装(一主二从)保姆级教程-CSDN博客

  3. Hadoop之Hbase安装和配置_hadoop之hbase的安装与配置-CSDN博客

相关推荐
全栈老石2 小时前
拆解低代码引擎核心:元数据驱动的"万能表"架构
数据库·低代码
大大大大晴天4 小时前
Flink生产问题排障-HBase NotServingRegionException
flink·hbase
倔强的石头_21 小时前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
jiayou642 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
李广坤3 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
初次攀爬者4 天前
ZooKeeper 实现分布式锁的两种方式
分布式·后端·zookeeper
爱可生开源社区4 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1774 天前
《从零搭建NestJS项目》
数据库·typescript
加号35 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏5 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker