centos

HBase在CentOS如何集群部署

小樊
52
2025-10-22 05:41:19
栏目: 智能运维

HBase在CentOS上的集群部署指南

一、环境准备

1. 硬件与系统要求

2. 依赖软件安装

在所有节点执行以下命令,安装必要依赖:

sudo yum install -y java-1.8.0-openjdk-devel wget vim lsof net-tools

3. 安装Hadoop与ZooKeeper(可选但推荐)

若集群需对接HDFS或依赖ZooKeeper做协调服务,需提前安装:

二、HBase安装与配置

1. 下载与解压HBase

选择稳定版本(如2.4.9/2.5.5),在所有节点执行:

wget https://downloads.apache.org/hbase/2.4.9/hbase-2.4.9-bin.tar.gz
tar -zxvf hbase-2.4.9-bin.tar.gz -C /usr/local/
sudo mv /usr/local/hbase-2.4.9 /usr/local/hbase  # 重命名便于管理

2. 配置环境变量

编辑/etc/profile文件,添加HBase路径:

echo "export HBASE_HOME=/usr/local/hbase" >> /etc/profile
echo "export PATH=\$HBASE_HOME/bin:\$PATH" >> /etc/profile
source /etc/profile  # 使配置生效

3. 核心配置文件修改

进入HBase配置目录(/usr/local/hbase/conf),修改以下文件:

(1)hbase-env.sh

设置Java路径与ZooKeeper管理方式(若使用外部ZooKeeper,需关闭HBase自带ZK):

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk  # 替换为实际JDK路径
export HBASE_MANAGES_ZK=false  # 设为false表示使用外部ZooKeeper

(2)hbase-site.xml

配置HBase核心参数(替换namenodezookeeper1-3为实际主机名/IP):

<configuration>
    <!-- HDFS根目录(分布式模式必配) -->
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://namenode:9000/hbase</value>
    </property>
    
    <!-- 启用分布式模式 -->
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    
    <!-- ZooKeeper集群地址(逗号分隔) -->
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>zookeeper1,zookeeper2,zookeeper3</value>
    </property>
    
    <!-- ZooKeeper数据存储目录 -->
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/var/lib/zookeeper</value>
    </property>
    
    <!-- Master节点端口(默认16000) -->
    <property>
        <name>hbase.master.port</name>
        <value>16000</value>
    </property>
    
    <!-- RPC超时时间(解决网络延迟问题) -->
    <property>
        <name>hbase.rpc.timeout</name>
        <value>120000</value>
    </property>
</configuration>

(3)regionservers文件

列出所有RegionServer节点(每行一个主机名):

hadoop001
hadoop002
hadoop003

(4)可选:backup-masters文件(高可用)

若需配置Master高可用,在conf目录下创建backup-masters文件,添加备用Master节点(每行一个):

hadoop002
hadoop003

三、启动HBase集群

1. 启动外部服务

2. 启动HBase集群

3. 验证集群状态

四、注意事项

1. 时间同步

所有节点需安装NTP服务,确保时间误差≤1s:

sudo yum install -y ntp
sudo systemctl start ntpd
sudo systemctl enable ntpd

2. 防火墙配置

开放HBase与ZooKeeper端口(若防火墙开启):

sudo firewall-cmd --permanent --add-port=16000/tcp  # Master端口
sudo firewall-cmd --permanent --add-port=16020/tcp  # RegionServer端口
sudo firewall-cmd --permanent --add-port=2181/tcp  # ZooKeeper端口
sudo firewall-cmd --reload

3. 日志排查

若启动失败,查看日志定位问题:

tail -f /usr/local/hbase/logs/hbase-*-master-*.log  # Master日志
tail -f /usr/local/hbase/logs/hbase-*-regionserver-*.log  # RegionServer日志

通过以上步骤,即可在CentOS上完成HBase集群部署。实际生产环境中,还需根据业务需求调整内存分配(如hbase-env.sh中的HBASE_HEAPSIZE)、Region分割策略等参数。

0
看了该问题的人还看了