搭建分布式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博客

相关推荐
兜有米啦8 分钟前
数据库第二次作业
数据库
风中凌乱20 分钟前
kafka新版本集群的安装与部署
分布式·kafka
nVisual44 分钟前
机柜PDU安装位置与空间建模方案
大数据·网络·数据库·信息可视化·数据中心基础设施管理
weixin_66844 分钟前
Cursor-superpowers插件用法
数据库·人工智能
NWU_白杨1 小时前
三种常用的数据存储技术
数据库·redis·mysql·sqlite
SLD_Allen1 小时前
大规模分布式AI训练基础设施
人工智能·分布式·模型训练
吃饱了得干活1 小时前
亿级订单表分库分表设计,从0到1全流程
java·数据库·面试
蓝创工坊Blue Foundry1 小时前
图片文字提取到 Excel:批量任务如何先定义要交付的字段
运维·服务器·开发语言·数据库·自动化·ocr·excel
麦聪聊数据2 小时前
企业数据市场建设(三):API 化服务封装,让数据开箱即用、避免重复开发
数据库
脱胎换骨-军哥2 小时前
C++数据库存储引擎内核开发:B+树索引与MVCC并发控制的完整实现
数据库·c++·b树