HA-HBase集群环境搭建

一、集群规划

这里搭建一个 3 节点的 HBase 集群,其中三台主机上均为 RegionServer。同时为了保证高可用,除了在 hadoop01 上部署主 Master 服务外,还在 hadoop02 上部署备用的 Master 服务。Master 服务由 Zookeeper 集群进行协调管理,如果主 Master 不可用,则备用 Master 会切换为主 Master

二、前置准备

2.1 JDK版本说明

HBase 需要依赖 JDK 环境,这里搭建的HBase版本是1.4.13,JDK 的最低版本要求是1.7, HBase 2.0+ 以上版本不再支持 JDK 1.7 ,需要安装 JDK 1.8+ 。JDK 安装教程如下:

Linux 环境下 JDK 安装

2.2 Zookeeper集群

这里我们不采用 HBase 内置的 Zookeeper ,Zookeeper集群的安装教程如下:

Zookeeper单机环境和集群环境搭建视频+图文教程

2.3 Hadoop集群(时间同步)

这里我们采用 HDFS 作为 HBase 的存储方案,需要预先安装 Hadoop。Hadoop 集群的安装教程如下:

Hadoop完全分布式集群环境搭建-视频教程

HA(高可用)-Hadoop集群环境搭建视频+图文教程

三、集群配置

3.1 Hbase版本选择

HBase 的版本必须要与 Hadoop 的版本兼容,不然会出现各种 Jar 包冲突。这里我所有软件版本如下:

  • Hadoop 版本: hadoop-2.7.7
  • HBase 版本: hbase-1.4.13
  • JDK 版本:JDK 1.8.0_191

3.2 软件下载解压

下载后进行解压,下载地址:官方网站

[xiaokang@hadoop01 ~]$ tar -zxvf hbase-1.4.13-bin.tar.gz -C /opt/software/

3.3 配置环境变量

[xiaokang@hadoop01 ~]$ sudo vim /etc/profile

添加环境变量:

export HBASE_HOME=/opt/software/hbase-1.4.13
export PATH=${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:${ZOOKEEPER_HOME}/bin:${HIVE_HOME}/bin:${ZEPPELIN_HOME}/bin:${HBASE_HOME}/bin:$PATH

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

[xiaokang@hadoop01 ~]$ source /etc/profile

3.4 修改配置

1.创建目录

[xiaokang@hadoop01 ~]$ mkdir -p /opt/software/hbase-1.4.13/tmp
[xiaokang@hadoop01 ~]$ mkdir -p /opt/software/hbase-1.4.13/zookeeper_data

2.修改安装目录下的 conf/hbase-env.sh,指定 JDK 的安装路径:

# The java implementation to use.  Java 1.7+ required.
export JAVA_HOME=/opt/moudle/jdk1.8.0_191
export HBASE_MANAGES_ZK=false

3.修改安装目录下的 conf/hbase-site.xml,增加如下配置:

<configuration>
    <!-- 指定 HBase 以分布式模式运行 -->
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <!-- 指定 HBase 数据存储路径为 HDFS 上的 hbase 目录,hbase 目录不需要预先创建,程序会自动创
建 -->
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://hacluster/hbase</value>
    </property>
    <!-- HBase临时数据存储目录 -->
    <property>
        <name>hbase.tmp.dir</name>
        <value>/opt/software/hbase-1.4.13/tmp</value>
    </property>
    <!-- 指定 zookeeper 地址和端口 -->
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
    </property>
    <!-- zookeeper数据存放位置 -->
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/opt/software/hbase-1.4.13/zookeeper_data</value>
    </property>
</configuration>

4.修改安装目录下的 conf/regionservers,指定 region servers 的地址,修改后其内容如下:

hadoop01
hadoop02
hadoop03

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

hadoop02

3.5 HDFS客户端配置

这里有一个可选的配置:如果您在 Hadoop 集群上进行了 HDFS 客户端配置的更改,比如将副本系数 dfs.replication 设置成 5,则必须使用以下方法之一来使 HBase 知道,否则 HBase 将依旧使用默认的副本系数 3 来创建文件:

#将Hadoop的core-site.xml和hdfs-site.xml通过建立软链接的方式放置${HBASE_HOME}/conf目录下
[xiaokang@hadoop01 ~]$ ln -s /opt/software/hadoop-2.7.7/etc/hadoop/hdfs-site.xml /opt/software/hbase-1.4.13/conf/hdfs-site.xml

[xiaokang@hadoop01 ~]$ ln -s /opt/software/hadoop-2.7.7/etc/hadoop/core-site.xml /opt/software/hbase-1.4.13/conf/core-site.xml

3.6 安装包分发

将 HBase 的安装包分发到其他节点,分发后建议在这两台服务器上也配置一下 HBase 的环境变量。

[xiaokang@hadoop01 ~]$ scp -r /opt/software/hbase-1.4.13/ xiaokang@hadoop02:/opt/software/
[xiaokang@hadoop01 ~]$ scp -r /opt/software/hbase-1.4.13/ xiaokang@hadoop03:/opt/software/

3.7 启动

#三个节点都启动Zookeeper服务
[xiaokang@hadoop ~]$ zkServer.sh start
#启动Hadoop集群
[xiaokang@hadoop conf]$ start-dfs.sh
[xiaokang@hadoop conf]$ start-yarn.sh
#启动HBase集群
[xiaokang@hadoop ~]$ start-hbase.sh

#也可以分别启动HBase集群的各个进程
[xiaokang@hadoop ~]$ hbase-daemon.sh start master
[xiaokang@hadoop ~]$ hbase-daemon.sh start regionserver

3.8 验证启动是否成功

验证方式一 :使用 jps 命令查看进程

[xiaokang@hadoop01 data]$ jps
11218 DataNode
11043 NameNode
11539 JournalNode
11702 DFSZKFailoverController
11115 NodeManager
10460 QuorumPeerMain
14478 HMaster
17743 Jps

[xiaokang@hadoop02 ~]$ jps
12433 QuorumPeerMain
15345 JournalNode
15058 ResourceManager
15478 DFSZKFailoverController
14968 NodeManager
40586 Jps
19006 HRegionServer
39166 HMaster
14895 NameNode
15039 DataNode

[xiaokang@hadoop03 ~]$ jps
11216 NodeManager
11280 DataNode
12640 HRegionServer
10372 QuorumPeerMain
11108 ResourceManager
11605 JournalNode
14838 Jps

验证方式二 :访问 HBase Web UI 界面

可以看到 Master 在 hadoop01 上,三个 Region Servers 分别在 hadoop01,hadoop02,和 hadoop03 上,并且还有一个 Backup Matser 服务在 hadoop02 上。

3.9 测试备份节点

##杀掉active的Master之后,查看BackupMaster的状态
[xiaokang@hadoop02 logs]$ kill -9 8277
# http://hadoop02:16010/master-status
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值