首页主机资讯HBase集群在Ubuntu上怎么搭建

HBase集群在Ubuntu上怎么搭建

时间2025-10-23 10:41:04发布访客分类主机资讯浏览926
导读:HBase集群在Ubuntu上的搭建步骤(以3节点为例) 1. 准备工作 系统要求:Ubuntu 20.04及以上(建议),每节点至少4核CPU、8GB内存、100GB存储、千兆网络。 软件依赖:JDK 1.8+(sudo apt ins...

HBase集群在Ubuntu上的搭建步骤(以3节点为例)

1. 准备工作

  • 系统要求:Ubuntu 20.04及以上(建议),每节点至少4核CPU、8GB内存、100GB存储、千兆网络。
  • 软件依赖:JDK 1.8+(sudo apt install openjdk-8-jdk -y)、SSH(sudo apt install ssh -y)、Hadoop集群(可选,若使用HDFS存储)、Zookeeper集群(可选,若使用外部ZK)。
  • 环境检查:确认Java版本(java -version)、SSH连通性(ssh localhost能免密登录)。

2. 下载并解压HBase

  • 在主节点(如master)下载HBase(选择稳定版本,如2.4.10):
    wget https://archive.apache.org/dist/hbase/2.4.10/hbase-2.4.10-bin.tar.gz
  • 解压至/usr/local并重命名:
    tar -zxvf hbase-2.4.10-bin.tar.gz & & sudo mv hbase-2.4.10 /usr/local/hbase
  • 分发到所有RegionServer节点(slave1slave2):
    scp -r /usr/local/hbase/ user@slave1:/usr/local/ & & scp -r /usr/local/hbase/ user@slave2:/usr/local/

3. 配置环境变量

  • 编辑主节点的~/.bashrc(或/etc/profile),添加以下内容:
    export HBASE_HOME=/usr/local/hbase
    export PATH=$PATH:$HBASE_HOME/bin
    export HBASE_LOG_DIR=/usr/local/hbase/logs  # 日志目录(可选)
    
  • 生效配置:source ~/.bashrc,并验证hbase version能正确输出版本信息。

4. 配置HBase核心文件

  • hbase-env.sh$HBASE_HOME/conf/
    取消以下注释并修改(若使用外部ZK,需设置HBASE_MANAGES_ZK=false):
    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64  # 实际JDK路径
    export HBASE_MANAGES_ZK=true  # 使用HBase内置ZK(默认)
    export HBASE_LOG_DIR=/usr/local/hbase/logs  # 日志目录
    
  • hbase-site.xml$HBASE_HOME/conf/
    添加以下核心配置(根据是否使用HDFS调整hbase.rootdir):
    <
        configuration>
        
        <
        !-- 分布式模式 -->
        
        <
        property>
        
            <
        name>
        hbase.cluster.distributed<
        /name>
        
            <
        value>
        true<
        /value>
        
        <
        /property>
        
        <
        !-- HDFS存储路径(若使用HDFS) -->
        
        <
        property>
        
            <
        name>
        hbase.rootdir<
        /name>
        
            <
        value>
        hdfs://master:9000/hbase<
        /value>
          # 需与Hadoop的fs.defaultFS一致
        <
        /property>
        
        <
        !-- Zookeeper集群地址(若使用外部ZK) -->
        
        <
        property>
        
            <
        name>
        hbase.zookeeper.quorum<
        /name>
        
            <
        value>
        master,slave1,slave2<
        /value>
        
        <
        /property>
        
        <
        !-- Zookeeper数据目录 -->
        
        <
        property>
        
            <
        name>
        hbase.zookeeper.property.dataDir<
        /name>
        
            <
        value>
        /usr/local/hbase/zk<
        /value>
        
        <
        /property>
        
        <
        !-- 关闭HDFS追加支持(若HDFS未开启sync) -->
        
        <
        property>
        
            <
        name>
        dfs.support.append<
        /name>
        
            <
        value>
        true<
        /value>
        
        <
        /property>
        
    <
        /configuration>
        
    
  • regionservers$HBASE_HOME/conf/
    列出所有RegionServer节点(每行一个IP或主机名):
    slave1
    slave2
    

5. 配置SSH免密登录(可选但推荐)

  • 在主节点生成SSH密钥:ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
  • 将公钥复制到所有节点(包括主节点自身):
    ssh-copy-id user@master & & ssh-copy-id user@slave1 & & ssh-copy-id user@slave2
  • 测试免密登录:ssh user@slave1(无需输入密码)。

6. 启动HBase集群

  • 启动顺序:先启动Hadoop集群(start-dfs.shstart-yarn.sh,若使用HDFS),再启动Zookeeper集群(zkServer.sh start,若使用外部ZK),最后启动HBase:
    start-hbase.sh
  • 验证启动状态
    • 查看HBase进程:jps(主节点应有HMaster,RegionServer节点应有HRegionServer)。
    • 访问Web UI:http://master:16010(默认端口16010,需确保防火墙开放)。

7. 测试集群功能

  • 进入HBase Shell:hbase shell
  • 创建表:create 'test_table', 'cf'(表名test_table,列族cf)。
  • 插入数据:put 'test_table', 'row1', 'cf:col1', 'value1'
  • 查询数据:get 'test_table', 'row1'(查看row1的数据),scan 'test_table'(扫描全表)。
  • 删除表(可选):disable 'test_table'drop 'test_table'

注意事项

  • 版本兼容性:HBase需与Hadoop、Zookeeper版本兼容(如HBase 2.4.x兼容Hadoop 3.x、Zookeeper 3.5.x+)。
  • 资源调整:根据集群规模调整hbase.regionserver.handler.count(RegionServer处理线程数,默认30,可调整为100+)、hbase.heapsize(JVM堆大小,默认1GB,可调整为4GB+)。
  • 高可用性:若需HBase高可用,可配置backup-masters文件(指定备用Master节点,如slave1),并确保ZK集群为奇数节点(3或5节点)。

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


若转载请注明出处: HBase集群在Ubuntu上怎么搭建
本文地址: https://pptw.com/jishu/733202.html
Ubuntu如何解决HBase内存不足 Ubuntu MongoDB升级技巧有哪些

游客 回复需填写必要信息