Hbase部署

发布于 2026-07-28 12:58 更新于 2026-07-28 12:59 888 字 5 min read ... 访问量

本文详细介绍了HBase的部署流程,包括环境配置、文件修改、Hadoop配置文件复制、节点间配置分发、集群启动与测试步骤,并提供了错误排查和正常关闭的注意事项,确保HBase集群稳定运行。通过检查日志和终端输出,可验证部署是否成功。

Hbase 的部署

部署 Hbase

Habase 的部署及配置(根据实际情况修改路径)

下载 Hbase

wget -P /export/software/ https://repo.huaweicloud.com/apache/hbase/2.6.0/hbase-2.6.0-bin.tar.gz
tar -zxvf /export/software/hbase-2.6.0-bin.tar.gz -C /export/servers/
mv /export/servers/hbase-2.6.0 /export/servers/hbase

修改文件夹所有者

sudo chown -R hadooper:hadooper /export/servers/hbase/

配置环境变量便于随时调用

sudo vim /etc/profile 

在文件末尾添加以下内容:

export PATH=$PATH:/export/servers/hbase/bin

刷新终端的环境变量

source /etc/profile

验证安装

hbase version

配置hbase-env.sh

sudo vim /export/servers/hbase/conf/hbase-env.sh

添加下面配置

export JAVA_HOME=/export/servers/jdk
export HBASE_CLASSPATH=/export/servers/hbase/conf
export HBASE_MANAGES_ZK=false
export HBASE_USER_CLASSPATH_FIRST=true
export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true" 

配置hbase-site.xml并替换所有内容

sudo vim /export/servers/hbase/conf/hbase-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <!-- 核心:HBase存储路径指向Hadoop HA集群逻辑名称(与core-site.xml一致) -->
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://mycluster/hbase</value>
    </property>

    <!-- 启用分布式模式(集群/HA模式必须为true) -->
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>

    <!-- ZooKeeper集群地址(与Hadoop core-site.xml的ha.zookeeper.quorum一致) -->
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>hadoop01,hadoop02,hadoop03</value>
    </property>

    <!-- ZooKeeper客户端端口(默认2181,与集群配置一致) -->
    <property>
        <name>hbase.zookeeper.property.clientPort</name>
        <value>2181</value>
    </property>

    <!-- ZooKeeper数据目录(仅HBase内置ZooKeeper生效,独立ZooKeeper忽略此配置) -->
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/export/servers/zookeeper/data</value>
    </property>

    <!-- HA模式必需:禁用HDFS流能力强制检查 -->
    <property>
        <name>hbase.unsafe.stream.capability.enforce</name>
        <value>false</value>
    </property>

    <!-- 可选优化:HBase临时目录 -->
    <property>
        <name>hbase.tmp.dir</name>
        <value>/export/servers/hbase/tmp</value>
    </property>
<!-- 禁用异步 WAL -->
<property>
  <name>hbase.wal.async.enabled</name>
  <value>false</value>
</property>

<!-- 禁用异步 HDFS 写入(关键!)-->
<property>
  <name>hbase.fs.async.impl</name>
  <value></value>
</property>
</configuration>

主要修改如图所示

配置子节点

配置regionservers文件(指定 RegionServer 节点)

sudo vi /export/servers/hbase/conf/regionservers

删除原有内容,添加所有节点的主机名

hadoop01
hadoop02
hadoop03

拷贝文件

hadoop 的core-site.xml文件和hdfs-site.xml文件到 hbase 的conf目录以便于 Hbase 能够读取 hadoop 的运行配置

sudo cp /export/servers/hadoop/etc/hadoop/core-site.xml /export/servers/hbase/conf
sudo cp /export/servers/hadoop/etc/hadoop/hdfs-site.xml /export/servers/hbase/conf

分发配置文件

将主节点中配置好的文件和 hadoop 目录 copy 给子节点

scp -r /etc/profile hadoop02:/tmp
scp -r /etc/profile hadoop03:/tmp
scp -r /export/servers/hbase hadoop02:/tmp
scp -r /export/servers/hbase hadoop03:/tmp

进入子节点

分别在各个节点执行以下指令

sudo mv /tmp/hbase /export/servers
sudo mv /tmp/profile /etc/

启动

启动 HBase 集群(主节点启动即可)

start-hbase.sh

启动剩余节点

在 hadoop02 启动第 2 个 HMaster 刷新终端的环境变量

source /etc/profile
hbase-daemon.sh start master

在 hadoop03 启动第 3 个 HMaster 刷新终端的环境变量

source /etc/profile
hbase-daemon.sh start master

查找程序

jps | grep -E 'HMaster|HRegionServer' 

hadoop01

hadoop02

hadoop03

测试结果

查看选举结果

浏览器访问 主节点 ip

连接 hbase 并测试

hbase shell

list 查询测试

list

若出现以上结果且不报错即为部署完成 然后按 ctrl+D 或输入 exit 回车退出

错误分析

Hbase 出现的问题较多且复杂,请每次运行前强制杀死 Hbase 原有进程(所有节点),清理logs目录(所有节点),先运行主节点的start-hbase.sh,查看主节点的logs目录的logs文件中是否出现 error,未出现 error 后再运行子节点的hbase-daemon.sh start master,若子节点的logs目录里的logs文件也无 error,再进行hbase shell的测试,并观察终端是否正确输出,若没有请再次查看各节点的 logs 日志

正常关闭 Hbase 命令(主节点运行)

stop-hbase.sh

强制杀死 Hbase 命令(每个节点都要运行)

kill -9 $(jps | grep -E "HMaster|HRegionServer" | awk '{print $1}')

喜欢的话,留下你的评论吧~

... 访问量
© 2026 跨越星轨的客 @Hoshiumi
Powered by theme astro-koharu · Inspired by Shoka