搭建分布式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 分钟前
Qt生成随机数的方法
服务器·数据库·qt
李宥小哥36 分钟前
ElasticSearch06-分片节点分配
数据库
Dream25121 小时前
【MySQL数据基础】
数据库·mysql
NineData1 小时前
决赛预告|2024数据库编程大赛前8名入围,决赛将评选出SQL大师!
数据库
chengxuyuan1213_2 小时前
高级SQL技巧
java·数据库·sql
weixin_SAG2 小时前
21天掌握javaweb-->第15天:综合项目实战启动与需求分析
数据库
nbplus_0072 小时前
Redis Set操作
数据库·redis·bootstrap
逆天小北鼻3 小时前
配置一个外网yum源及常用命令
服务器·数据库·windows
weisian1513 小时前
Redis篇-11--数据结构篇3--字符串内存模型(简单动态字符串SDS)
数据结构·数据库·redis