HBase(二)CentOS7.5搭建HBase1.2.6HA集群
一、安装前提
1、HBase 依赖于 HDFS 做底层的数据存储
2、HBase 依赖于 MapReduce 做数据计算
3、HBase 依赖于 ZooKeeper 做服务协调
4、HBase源码是java编写的,安装需要依赖JDK
1、版本选择
打开官方的版本说明http://hbase.apache.org/1.2/book.html
JDK的选择

Hadoop的选择


此处我们的hadoop版本用的的是2.7.6,HBase选择的版本是1.2.6
2、下载安装包
官网下载地址:http://archive.apache.org/dist/hbase/

3、完全分布式部署
默认情况下,HBase以独立模式运行。提供独立模式和伪分布模式都是为了进行小规模测试。
对于生产环境,分布式模式是合适的。在分布式模式下,HBase守护程序的多个实例在群集中的多个服务器上运行。
| 节点IP | 节点名称 | Master | BackupMaster | RegionServer | Zookeeper | HDFS |
| 192.168.100.21 | node21 | √ | √ | √ | √ | |
| 192.168.100.22 | node22 | √ | √ | √ | √ | |
| 192.168.100.23 | node23 | √ | √ | √ |
Zookeeper集群安装参考:CentOS7.5搭建Zookeeper3.4.12集群
Hadoop集群安装参考:CentOS7.5搭建Hadoop2.7.6完全分布式集群
二、HBase的集群安装
安装过程参考官方文档:http://hbase.apache.org/1.2/book.html#standalone_dist
1、上传解压缩
解压 HBase 到指定目录:
[admin@node21 software]$ tar zxvf hbase-1.2.6-bin.tar.gz -C /opt/module/
2、修改配置文件
配置文件在/opt/module/hbase-1.2.6/conf目录下
hbase-env.sh 修改内容:
export JAVA_HOME=/opt/module/jdk1.8
export HBASE_MANAGES_ZK=false
hbase-site.xml 修改内容:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://mycluster/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>node21,node22,node23</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/opt/module/zookeeper-3.4.12/Data</value>
</property>
</configuration>
region servers修改内容:
node21
node22
node23
在 conf 目录下创建 backup-masters 文件,添加备机名
$ echo node22 > conf/backup-masters
3、软连接Hadoop配置
[admin@node21 ~]$ ln -s /opt/module/hadoop-2.7.6/etc/hadoop/hdfs-site.xml /opt/module/hbase-1.2.6/conf/
4、替换Hbase依赖的Jar包
由于 HBase 需要依赖 Hadoop,所以替换 HBase 的 lib 目录下的 jar 包,以解决兼容问题:
1) 删除原有的 jar:
[admin@node21 ~]$ rm -rf /opt/module/hbase-1.2./lib/hadoop-*
[admin@node21 ~]$ rm -rf /opt/module/hbase-1.2./lib/zookeeper-3.4..jar
2) 拷贝新 jar,涉及的 jar 有:
hadoop-annotations-2.7.6.jar hadoop-mapreduce-client-app-2.7.6.jar hadoop-mapreduce-client-hs-plugins-2.7.6.jar
hadoop-auth-2.7.6.jar hadoop-mapreduce-client-common-2.7.6.jar hadoop-mapreduce-client-jobclient-2.7.6.jar
hadoop-common-2.7.6.jar hadoop-mapreduce-client-core-2.7.6.jar hadoop-mapreduce-client-shuffle-2.7.6.jar
hadoop-hdfs-2.7.6.jar hadoop-mapreduce-client-hs-2.7.6.jar hadoop-yarn-api-2.7.6.jar
hadoop-yarn-client-2.7.6.jar hadoop-yarn-common-2.7.6.jar hadoop-yarn-server-common-2.7.6.jar
zookeeper-3.4.12.jar
尖叫提示:这些 jar 包的对应版本应替换成你目前使用的 hadoop 版本,具体情况具体分析。
[admin@node21 ~]$ find /opt/module/hadoop-2.7.6/ -name hadoop-annotations*
然后将找到的 jar 包复制到 HBase 的 lib 目录下即可。
5、分发安装包到其他节点
[admin@node21 ~]$ scp -r /opt/module/hbase-1.2./ node22:/opt/module/
[admin@node21 ~]$ scp -r /opt/module/hbase-1.2./ node23:/opt/module/
6、配置环境变量
所有服务器都有进行配置
[admin@node21 ~]$ vi /etc/profile
#HBase
export HBASE_HOME=/opt/module/hbase-1.2.6
export PATH=$PATH:$HBASE_HOME/bin
使环境变量立即生效
[admin@node21 ~]$ source /etc/profile
7、同步时间
尖叫提示: HBase 集群对于时间的同步要求的比HDFS严格,如果集群之间的节点时间不同步,会导致 region server 无法启动,抛出ClockOutOfSyncException 异常。所以,集群启动之前千万记住要进行 时间同步,要求相差不要超过 30s.
<property>
<name>hbase.master.maxclockskew</name>
<value>180000</value>
<description>Time difference of regionserver from master</description>
</property>
三、启动HBase集群
严格按照启动顺序进行
1、启动zookeeper集群
每个zookeeper节点都要执行以下命令
[admin@node21 ~]$ zkServer.sh start
2、启动Hadoop集群
如果需要运行MapReduce程序则启动yarn集群,否则不需要启动
[admin@node21 ~]$ start-dfs.sh
[admin@node22 ~]$ start-yarn.sh
3、启动HBase集群
保证 ZooKeeper 集群和 HDFS 集群启动正常的情况下启动 HBase 集群 启动命令:start-hbase.sh,在哪台节点上执行此命令,哪个节点就是主节点
启动方式 1:
[admin@node21 ~]$ start-hbase.sh
starting master, logging to /opt/module/hbase-1.2./logs/hbase-admin-master-node21.out
node23: starting regionserver, logging to /opt/module/hbase-1.2./logs/hbase-admin-regionserver-node23.out
node21: starting regionserver, logging to /opt/module/hbase-1.2./logs/hbase-admin-regionserver-node21.out
node22: starting regionserver, logging to /opt/module/hbase-1.2./logs/hbase-admin-regionserver-node22.out
node22: starting master, logging to /opt/module/hbase-1.2./logs/hbase-admin-master-node22.out
启动方式 2:
$ hbase-daemon.sh start master
$ hbase-daemon.sh start regionserver
观看启动日志可以看到:
(1)首先在命令执行节点启动 master
(2)然后分别在 node21,node22,node23 启动 regionserver
(3)然后在 backup-masters 文件中配置的备节点上再启动一个 master 主进程
尖叫提 示: 如果使用的是 JDK8 以 上 版 本 , 则 应 在 hbase-evn.sh 中 移除 “HBASE_MASTER_OPTS”和“HBASE_REGIONSERVER_OPTS”配置。
4、停止HBase集群
[admin@node21 ~]$ stop-hbase.sh
四、验证启动是否正常
1、检查各进程是否启动正常
主节点和备用节点都启动 hmaster 进程,各从节点都启动 hregionserver 进程,按照对应的配置信息各个节点应该要启动的进程如下所示



2、通过访问浏览器页面查看
WebUI地址查看:http://node21:16010/master-status


3、验证高可用
干掉node21上的hbase进程,观察备用节点是否启用
[admin@node21 ~]$ kill -9 3414
node21界面访问失败,node22变成主节点

4、手动启动进程
启动HMaster进程,当node21节点上的HMaster进程起来后又会成为备用Master,状态可通过webUI查看。
[admin@node21 ~]$ jps
HRegionServer
NodeManager
DFSZKFailoverController
Jps
DataNode
JournalNode
QuorumPeerMain
[admin@node21 ~]$ hbase-daemon.sh start master
starting master, logging to /opt/module/hbase-1.2./logs/hbase-admin-master-node21.out
[admin@node21 ~]$ jps
HRegionServer
NodeManager
HMaster
Jps
DFSZKFailoverController
DataNode
JournalNode
QuorumPeerMain
启动HRegionServer进程
$ hbase-daemon.sh start regionserver
HBase(二)CentOS7.5搭建HBase1.2.6HA集群的更多相关文章
- Storm(二)CentOS7.5搭建Storm1.2.2集群
一.Storm的下载 官网下载地址:http://storm.apache.org/downloads.html 这里下载最新的版本storm1.2.2,进入之后选择一个镜像下载 二.Storm伪分布 ...
- CentOS7.5搭建spark2.3.1集群
一 下载安装包 1 官方下载 官方下载地址:http://spark.apache.org/downloads.html 2 安装前提 Java8 安装成功 zookeeper 安 ...
- CentOS7.5搭建Solr7.4.0集群服务
一.Solr集群概念 solr单机版搭建参考: https://www.cnblogs.com/frankdeng/p/9615253.html 1.概念 SolrCloud(solr 云)是Solr ...
- centos7 下搭建hadoop2.9 分布式集群
首先说明,本文记录的是博主搭建的3节点的完全分布式hadoop集群的过程,环境是centos 7,1个nameNode,2个dataNode,如下: 1.首先,创建好3个Centos7的虚拟机,具体的 ...
- CentOS7.5搭建ELK6.2.4集群及插件安装
一 简介 Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎.它允许您快速,近实时地存储,搜索和分析大量数据.它通常用作支持具有复杂搜索功能和需求的应用程序的底层引擎/技术. 下载地址 ...
- CentOS7.5搭建ES6.2.4集群与简单测试
一 简介 Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎.它允许您快速,近实时地存储,搜索和分析大量数据.它通常用作支持具有复杂搜索功能和需求的应用程序的底层引擎/技术. 下载地址 ...
- Zookeeper(一)CentOS7.5搭建Zookeeper3.4.12集群与命令行操作
一. 分布式安装部署 1.0 下载地址 官网首页: https://zookeeper.apache.org/ 下载地址: http://mirror.bit.edu.cn/apache/zookee ...
- centos7环境搭建Eureka-Server注册中心集群
目的:测试和线上使用这套独立的Eureka-Server注册中心集群,目前3台虚拟机集群,后续可直接修改配置文件进行新增或减少集群机器. 系统环境: Centos7x64 java8+(JDK1.8+ ...
- 在CentOS7下搭建Hadoop2.9.0集群
系统环境:CentOS 7 JDK版本:jdk-8u191-linux-x64 MYSQL版本:5.7.26 Hadoop版本:2.9.0 Hive版本:2.3.4 Host Name Ip User ...
随机推荐
- Python【经典类与新式类】
经典类多继承的调用方法顺序是:深度优先查询,如下图: 新式类多继承的调用方法顺序是:广度优先查询,如下图: 可以使用下面的代码进行实验验证: #经典类class A: def __init__ ...
- Java基础-IO流对象之随机访问文件(RandomAccessFile)
Java基础-IO流对象之随机访问文件(RandomAccessFile) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.RandomAccessFile简介 此类的实例支持对 ...
- SQL Server 属性不匹配。存在属性(Directory, Archive),包括属性(0),不包括属性(Archive, Compressed, Encrypted)
问题:安装SQL SERVER 2008报错 “存在属性(Directory, Archive),包括属性(0),不包括属性(Archive, Compressed, Encrypted)” 解决办法 ...
- HDU 3802 矩阵快速幂 化简递推式子 加一点点二次剩余知识
求$G(a,b,n,p) = (a^{\frac {p-1}{2}}+1)(b^{\frac{p-1}{2}}+1)[(\sqrt{a} + \sqrt{b})^{2F_n} + (\sqrt{a} ...
- c#+js 使用formdata上传文件
如果不是使用form表单submit的形式,我们可以手动通过formdata传值(针对文件上传等) 比如: <html> <head> <meta name=" ...
- CentOS 7快速入门系列教程(一)
基本命令 ls 列举当前目录下的所有文件夹 ls -l 查看文件还是文件夹 d表示文件夹 -表示文件 ls --help man ls 询问命令 man 3 malloc 查看函数 cd 跳转 ...
- [SDOI2010]外星千足虫 题解 高斯消元+bitset简介
高斯消元 + bitset 简介: 高斯消元其实就是以加减消元为核心求唯一解.这道题还是比较裸的,可以快速判断出来.我们将每一只虫子看作一个未知数,这样根据它给出的 m 组方程我们可以高斯消元得出每一 ...
- D. GCD Counting(树上dp)
题目链接:http://codeforces.com/contest/1101/problem/D 题目大意:给你n个点,每个点都有权值,然后给你边的关系,问你树上的最大距离.(这里的最大距离指的是这 ...
- elasticsearch6.5集群环境搭建的一些坑
都说el配置很简单,确实比solr简单多了,不用手动配置一大堆,不过第一次配置也不轻松,因为马虎老是漏掉了许多地方 配置一个半小时才启动成功: 这里主要记录一下一些遇到的坑: 一 不能用root启动, ...
- python函数,模块及eclipse配置python开发环境
一.eclipse的使用 1.作用 (1)最好用的IDE (2)可调式debug (3)查看可执行过程 (4)可查看源代码 2.安装eclipse及配置 目录安装Pythonpython for ec ...