首页主机资讯HBase在CentOS如何集群部署

HBase在CentOS如何集群部署

时间2025-10-22 09:32:03发布访客分类主机资讯浏览946
导读:HBase在CentOS上的集群部署指南 一、环境准备 1. 硬件与系统要求 服务器数量:至少3台(1台Master、2台RegionServer,建议扩展至3台RegionServer提升容错性); 操作系统:所有服务器安装CentOS...

HBase在CentOS上的集群部署指南

一、环境准备

1. 硬件与系统要求

  • 服务器数量:至少3台(1台Master、2台RegionServer,建议扩展至3台RegionServer提升容错性);
  • 操作系统:所有服务器安装CentOS 7.x/8.x(需提前配置好主机名与IP映射,确保节点间可通过主机名互相ping通);
  • 网络要求:千兆以太网,节点间网络延迟≤10ms,带宽≥1Gbps。

2. 依赖软件安装

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

sudo yum install -y java-1.8.0-openjdk-devel wget vim lsof net-tools
  • 验证Java环境
    java -version  # 需输出Java 1.8及以上版本信息
    

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

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

  • Hadoop:安装HDFS与YARN(版本≥2.7),配置hdfs-site.xml(设置dfs.replication=3)与core-site.xml(设置fs.defaultFS=hdfs://namenode:9000);
  • ZooKeeper:安装3节点集群(版本≥3.4),配置zoo.cfg(添加server.1=zookeeper1:2888:3888等server项),并创建myid文件(标识节点ID)。

二、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. 启动外部服务

  • 启动ZooKeeper集群:在每台ZooKeeper节点上执行:

    cd /usr/local/zookeeper/bin
    ./zkServer.sh start
    

    使用./zkServer.sh status检查节点状态(Leader/Follower)。

  • 启动Hadoop集群(若使用HDFS):在NameNode节点上执行:

    start-dfs.sh  # 启动HDFS
    start-yarn.sh  # 启动YARN(可选)
    

2. 启动HBase集群

  • 在Master节点(如hadoop001)上执行
    cd /usr/local/hbase/bin
    ./start-hbase.sh  # 一键启动Master与RegionServer
    
    或分步启动:
    ./start-master.sh  # 启动Master
    ./start-regionserver.sh  # 在RegionServer节点上执行(或通过脚本批量启动)
    

3. 验证集群状态

  • 查看进程:在Master节点执行jps,应看到以下进程:
    HMaster  # Master进程
    HRegionServer  # RegionServer进程(每个RegionServer节点一个)
    
  • 进入HBase Shell
    hbase shell
    
    执行简单命令验证:
    status 'simple'  # 查看集群状态(显示"running"即为正常)
    create 'test_table', 'cf1'  # 创建测试表
    put 'test_table', 'row1', 'cf1:col1', 'value1'  # 插入数据
    scan 'test_table'  # 扫描表数据
    exit  # 退出Shell
    
  • 访问Web UI:浏览器输入http://master-ip:16010,查看集群概览、Region分布等信息。

四、注意事项

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分割策略等参数。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: HBase在CentOS如何集群部署
本文地址: https://pptw.com/jishu/732013.html
HBase在CentOS上的集群扩展 CentOS上HBase的版本选择

游客 回复需填写必要信息