首页主机资讯CentOS HBase与Zookeeper集成步骤

CentOS HBase与Zookeeper集成步骤

时间2025-10-28 20:54:04发布访客分类主机资讯浏览632
导读:CentOS环境下HBase与ZooKeeper集成步骤 1. 准备基础环境 在开始集成前,需确保CentOS系统已安装Java(建议JDK 1.8及以上)和Hadoop(若需分布式存储),因为HBase依赖Java运行,分布式模式下需Ha...

CentOS环境下HBase与ZooKeeper集成步骤

1. 准备基础环境

在开始集成前,需确保CentOS系统已安装Java(建议JDK 1.8及以上)Hadoop(若需分布式存储),因为HBase依赖Java运行,分布式模式下需Hadoop支持。

  • 安装Java:使用YUM安装OpenJDK,命令:sudo yum install java-1.8.0-openjdk-devel -y,安装完成后通过java -version验证。
  • 安装Hadoop(可选):若需分布式存储,参考Hadoop官方文档安装并配置HDFS,确保hdfs://namenode:9000(或自定义NameNode地址)可正常访问。

2. 安装ZooKeeper集群

ZooKeeper是HBase的核心协调组件,需先部署ZooKeeper集群(建议奇数节点,如3节点)。

  • 下载并解压ZooKeeper:选择稳定版本(如3.7.0),命令:
    wget https://archive.apache.org/dist/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
    tar -xzf apache-zookeeper-3.7.0-bin.tar.gz -C /opt
    mv /opt/apache-zookeeper-3.7.0-bin /opt/zookeeper
    
  • 配置环境变量:编辑/etc/profile,添加:
    export ZOOKEEPER_HOME=/opt/zookeeper
    export PATH=$ZOOKEEPER_HOME/bin:$PATH
    
    执行source /etc/profile使变量生效。
  • 配置ZooKeeper集群
    • 复制配置模板:cp $ZOOKEEPER_HOME/conf/zoo_sample.cfg $ZOOKEEPER_HOME/conf/zoo.cfg
    • 修改zoo.cfg,添加以下关键配置(以3节点为例):
      tickTime=2000
      dataDir=/var/lib/zookeeper
      clientPort=2181
      initLimit=5
      syncLimit=2
      server.1=zookeeper1:2888:3888
      server.2=zookeeper2:2888:3888
      server.3=zookeeper3:2888:3888
      
      • dataDir:ZooKeeper数据存储目录,需提前创建(mkdir -p /var/lib/zookeeper)。
      • server.X:集群节点列表,X为节点ID(1、2、3…)。
  • 创建myid文件:在每个节点的dataDir目录下创建myid文件,内容为对应节点ID(如zookeeper1节点写入1zookeeper2节点写入2)。
  • 启动ZooKeeper集群:在每个节点上执行:
    zkServer.sh start
    
    使用zkServer.sh status检查状态,确保至少1个Leader、2个Follower。

3. 安装HBase

下载并解压HBase(建议2.4及以上版本),命令:

wget https://archive.apache.org/dist/hbase/hbase-2.4.9/hbase-2.4.9-bin.tar.gz
tar -xzf hbase-2.4.9-bin.tar.gz -C /opt
mv /opt/hbase-2.4.9 /opt/hbase

配置环境变量:编辑/etc/profile,添加:

export HBASE_HOME=/opt/hbase
export PATH=$HBASE_HOME/bin:$PATH

执行source /etc/profile使变量生效。

4. 配置HBase使用ZooKeeper

编辑HBase配置文件$HBASE_HOME/conf/hbase-site.xml,添加以下关键配置(以外部ZooKeeper集群为例):

<
    configuration>
    
  <
    !-- 指定ZooKeeper集群地址 -->
    
  <
    property>
    
    <
    name>
    hbase.zookeeper.quorum<
    /name>
    
    <
    value>
    zookeeper1,zookeeper2,zookeeper3<
    /value>
    
  <
    /property>
    
  <
    !-- 指定ZooKeeper客户端端口(默认2181) -->
    
  <
    property>
    
    <
    name>
    hbase.zookeeper.property.clientPort<
    /name>
    
    <
    value>
    2181<
    /value>
    
  <
    /property>
    
  <
    !-- 指定ZooKeeper数据存储目录(需与zoo.cfg中的dataDir一致) -->
    
  <
    property>
    
    <
    name>
    hbase.zookeeper.property.dataDir<
    /name>
    
    <
    value>
    /var/lib/zookeeper<
    /value>
    
  <
    /property>
    
  <
    !-- 分布式模式(必须设为true) -->
    
  <
    property>
    
    <
    name>
    hbase.cluster.distributed<
    /name>
    
    <
    value>
    true<
    /value>
    
  <
    /property>
    
  <
    !-- HBase根目录(HDFS路径,若未启用HDFS可设为本地路径) -->
    
  <
    property>
    
    <
    name>
    hbase.rootdir<
    /name>
    
    <
    value>
    hdfs://namenode:9000/hbase<
    /value>
    
  <
    /property>
    
<
    /configuration>
    
  • 禁用内置ZooKeeper:编辑$HBASE_HOME/conf/hbase-env.sh,添加:
    export HBASE_MANAGES_ZK=false
    
    此配置告诉HBase不启动内置的ZooKeeper,使用外部集群。

5. 配置HBase集群节点

  • 配置regionservers:编辑$HBASE_HOME/conf/regionservers,删除默认的localhost,添加所有RegionServer节点主机名(如hadoop1 hadoop2 hadoop3)。
  • 分发HBase到所有节点:使用scp将HBase目录复制到其他节点,命令:
    scp -rp /opt/hbase root@hadoop2:/opt/
    scp -rp /opt/hbase root@hadoop3:/opt/
    
  • 配置各节点环境变量:确保所有RegionServer节点都配置了HBASE_HOMEPATH环境变量(同主节点)。

6. 启动HBase集群

  • 启动ZooKeeper集群:确保所有ZooKeeper节点已启动(zkServer.sh status显示Leader/Follower状态正常)。
  • 启动HBase集群:在主节点(HMaster节点)上执行:
    start-hbase.sh
    
    启动后,使用hbase shell status 'simple'检查HBase状态,显示“Cluster is ONLINE”表示集成成功。

7. 验证集成

  • 进入HBase Shell:执行hbase shell进入交互式命令行。
  • 创建表并插入数据
    create 'test_table', 'cf'
    put 'test_table', 'row1', 'cf:name', 'John'
    get 'test_table', 'row1'
    
    若能正常创建表、插入和查询数据,说明HBase与ZooKeeper集成正常。

通过以上步骤,即可在CentOS环境下完成HBase与ZooKeeper的集成。集成后,ZooKeeper将负责HBase集群的协调管理(如RegionServer发现、Master选举、元数据存储等),确保集群的高可用性和一致性。

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


若转载请注明出处: CentOS HBase与Zookeeper集成步骤
本文地址: https://pptw.com/jishu/737160.html
如何在CentOS上配置HBase缓存 weblogic在centos的兼容性问题

游客 回复需填写必要信息