HBase集群环境配置

    技术2022-07-11  90

    HBase集群环境配置

    一、集群规划

    这里搭建一个 3 节点的 HBase 集群,其中三台主机上均为 Regin Server。同时为了保证高可用,除了在 hadoop-nn-01 上部署主 Master 服务外,还在 hadoop-nn-02 上部署备用的 Master 服务。Master 服务由 Zookeeper 集群进行协调管理,如果主 Master 不可用,则备用 Master 会成为新的主 Master。

    二、前置条件

    HBase 的运行需要依赖 Hadoop 和 JDK(HBase 2.0+ 对应 JDK 1.8+) 。同时为了保证高可用,这里我们不采用 HBase 内置的 Zookeeper 服务,而采用外置的 Zookeeper 集群。相关搭建步骤可以参阅:

    Linux下JDK的安装Zookeeper单机环境和集群环境搭建基于ZooKeeper搭建Hadoop高可用集群

    三、集群搭建

    3.1 下载并解压

    下载并解压,这里我下载的是 Apache 版本 HBase,下载地址为:http://hbase.apache.org/downloads.html

    # tar -zxvf hbase-2.2.5-bin.tar.gz -C /home/hadoop/

    3.2 配置环境变量

    # vim /etc/profile

    添加环境变量:

    export HBASE_HOME=/home/hadoop/hbase-2.2.5 export PATH=$HBASE_HOME/bin:$PATH

    使得配置的环境变量立即生效:

    # source /etc/profile

    3.3 集群配置

    进入 ${HBASE_HOME}/conf 目录下,修改配置:

    1. hbase-env.sh

    export HBASE_LOG_DIR=/data/hbase/logs #Hbase日志目录 export HBASE_PID_DIR=/data/hbase/pids export HBASE_HOME=/home/hadoop/hbase-2.2.5 export JAVA_HOME=/opt/jdk1.8.0_181/ export HBASE_CLASSPATH=/home/hadoop/hadoop-3.1.3/etc/hadoop export HBASE_MANAGES_ZK=false

    其中HBASE_MANAGES_ZK=false,表示不使用hbase自带的zookeeper,而使用独立部署的zookeeper。 HBASE_CLASSPATH是配置hadoop客户端

    2. hbase-site.xml

    <configuration> <property> <name>hbase.rootdir</name> <value>hdfs://gzgtest/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>hadoop-nn-01:2181,hadoop-nn-02:2181,hadoop-dn-01:2181</value> </property> <property> <name>hbase.tmp.dir</name> <value>/data/hbase/tmp</value> </property> <property> <name>hbase.unsafe.stream.capability.enforce</name> <value>false</value> </property> </configuration>

    3. regionservers

    hadoop-nn-01 hadoop-nn-02 hadoop-dn-01

    4. backup-masters

    hadoop-nn-02

    backup-masters 这个文件是不存在的,需要新建,主要用来指明备用的 master 节点,可以是多个,这里我们以 1 个为例。

    # 将安装包分发到hadoop-nn-02 scp -r /home/hadoop/hbase-2.2.5/ hadoop-nn-02:/home/hadoop/ # 将安装包分发到hadoop-dn-01 scp -r /home/hadoop/hbase-2.2.5/ hadoop-dn-01:/home/hadoop/ scp -r /home/hadoop/hbase-2.2.5/conf/hbase-env.sh hadoop-nn-02:/home/hadoop/hbase-2.2.5/conf scp -r /home/hadoop/hbase-2.2.5/conf/hbase-env.sh hadoop-dn-01:/home/hadoop/hbase-2.2.5/conf

    在另外两台机器也配置好环境变量

    5.调节时间 三台机器要一致

    ntpdate 0.cn.pool.ntp.org 命令使各个节点的时间跟网络时间同步即可。 我的虚拟机暂时使用 date -s 19:44:00 生成固定时间

    四、启动集群

    4.1 启动ZooKeeper集群

    分别到三台服务器上启动 ZooKeeper 服务:

    zkServer.sh start

    4.2 启动Hadoop集群

    # 启动dfs服务 start-dfs.sh # 启动yarn服务 start-yarn.sh

    4.3 启动HBase集群

    进入 hadoop-nn-01 的 ${HBASE_HOME}/bin,使用以下命令启动 HBase 集群。执行此命令后,会在 hadoop-nn-01 上启动 Master 服务,在 hadoop-nn-02 上启动备用 Master 服务,在 regionservers 文件中配置的所有节点启动 region server 服务。

    开启 [hadoop@hadoop-nn-01 bin]$ ./start-hbase.sh 停止 $HBASE_HOME/bin/stop-hbase.sh

    4.4 查看服务

    http://hadoop-nn-01:16010/ 启动hbase shell: [hadoop@hadoop-dn-01 gzg]$ hbase shell

    常用命令参考: Hbase 常用 Shell 命令

    4.5 集群情况

    机器hbase(2.2.5)hadoop-nn-01Hmaster、 HRegionServerhadoop-nn-02Hmaster、 HRegionServerhadoop-dn-01HRegionServer

    参考:

    HBase四种部署模式和基本操作

    HBase集群环境配置

    Hadoop 2.7.4 + HBase 1.2.6 + ZooKeeper 3.4.10 配置

    Linux 多服务器时间同步设置

    Processed: 0.009, SQL: 9