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会有
HMaster
、HRegionServer
的进程 -
slave1会有
HRegionServer
的进程 -
slave2会有
HRegionServer
的进程
bash
# 命令
jps
停止Hbase
bash
$HBASE/bin/stop-hbase.sh