Hbase高可用+完全分布式完整部署教程

本篇博客承接上一篇sqoop的部署教程,将会详细介绍完全分布式并且是高可用模式下的Hbase的部署流程,废话不多说,我们直接开始!

1. 安装准备

部署Hbase时,我们使用的版本为1.2.8

2. 正式安装

1. 将hbase-1.2.8-bin.tar.gz文件使用远程传输软件放到s101的/home/centos/downloads下

2. 将hbase-1.2.8-bin.tar.gz解压缩至/soft下

tar -xzvf /home/centos/downloads/hbase-1.2.8-bin.tar.gz -C /soft

3. 进入/soft目录,建立hbase的符号链接

cd /soft

ln -s hbase-1.2.8 hbase

4. 修改并生效环境变量

nano /etc/profile

在文件末尾添加以下代码:

#hbase环境变量

export HBASE_HOME=/soft/hbase

export PATH=$PATH:$HBASE_HOME/bin

生效环境变量后保存退出

source /etc/profile

5. 分发hbase以及hbase的符号链接到其他所有的节点

xsync.sh /soft/hbase-1.2.8

然后在其他每个节点上输入命令:

cd /soft

ln -s hbase-1.2.8 hbase

6. 同步环境变量

xsync.sh /etc/profile

然后在每个节点上生效环境变量:

xcall.sh source /etc/profile

7. 先只在s101节点上修改配置文件regionservers,类似于部署Hadoop时修改的slaves文件

nano /soft/hbase/conf/regionservers

添加以下代码:

s102

s103

s104

8. 在s101上修改配置文件hbase-env.sh

nano /soft/hbase/conf/hbase-env.sh

因为HBase自带的就有zookeeper,因此我们需要将下面这个设置成false,从而可以使用我们自己的zookeeper配置

修改:export HBASE_MANAGES_ZK=false

export JAVA_HOME=/soft/jdk

9. 在s101上修改配置文件hbase-site.xml

nano /soft/hbase/conf/hbase-site.xml

添加以下配置即可:

<configuration>
<!-- 启动hbase分布式 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- hbase工作目录 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://mycluster/user/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/centos/zk</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>s102:2181,s103:2181,s104:2181</value>
</property>
</configuration>

10. 在s101上将hadoop配置文件core-site.xml和hdfs-site.xml放置在/soft/hbase/conf下

cp /soft/hadoop/etc/hadoop/core-site.xml /soft/hbase/conf/

cp /soft/hadoop/etc/hadoop/hdfs-site.xml /soft/hbase/conf/

11. s101上的配置文件均已配置完毕,现在进行同步

xsync.sh /soft/hbase/conf/

12. 高可用配置:在/soft/hbase/conf/下添加backup-masters文件

nano /soft/hbase/conf/backup-masters

添加:s105

13. 全部配置完毕,启动hbase

由于hbase是架构在HDFS文件系统上的,因此需要先启动zookeeper和HDFS

xzk.sh start

start-dfs.sh

最后再启动hbase:

start-hbase.sh

14. 验证启动是否成功

hbase version,出现下面的画面:

查看WebUI:s101:16010,发现Master和备份Master还有Region Servers都已经启动,配置大功告成!!!

大数据学习笔记——Hbase高可用+完全分布式完整部署教程的更多相关文章

  1. 大数据学习笔记——Hadoop高可用完全分布式模式完整部署教程(包含zookeeper)

    高可用模式下的Hadoop集群搭建 本篇博客将会在之前写过的Linux的完整部署的基础上进行,暂时不会涉及到伪分布式或者完全分布式模式搭建,由于HA模式涉及到的配置文件较多,维护起来也较为复杂,相信学 ...

  2. 大数据学习笔记——HBase使用bulkload导入数据

    HBase使用bulkload批量导入数据 HBase可使用put命令向一张已经建好了的表中插入数据,然而,当遇到数据量非常大的情况,一条一条的进行插入效率将会大大降低,因此本篇博客将会整理提高批量导 ...

  3. 大数据Hadoop的HA高可用架构集群部署

        1 概述 在Hadoop 2.0.0之前,一个Hadoop集群只有一个NameNode,那么NameNode就会存在单点故障的问题,幸运的是Hadoop 2.0.0之后解决了这个问题,即支持N ...

  4. spring cloud(学习笔记)高可用注册中心(Eureka)的实现(二)

    绪论 前几天我用一种方式实现了spring cloud的高可用,达到两个注册中心,详情见spring cloud(学习笔记)高可用注册中心(Eureka)的实现(一),今天我意外发现,注册中心可以无限 ...

  5. hbase学习(二)hbase单机和高可用完全分布式安装部署

    hbase版本 2.0.4  与hadoop兼容表http://hbase.apache.org/book.html#hadoop  我的 hadoop版本是3.1   1.单机版hbase 1.1解 ...

  6. 大数据学习笔记——Java篇之集合框架(ArrayList)

    Java集合框架学习笔记 1. Java集合框架中各接口或子类的继承以及实现关系图: 2. 数组和集合类的区别整理: 数组: 1. 长度是固定的 2. 既可以存放基本数据类型又可以存放引用数据类型 3 ...

  7. 大数据学习笔记——Hadoop编程实战之HDFS

    HDFS基本API的应用(包含IDEA的基本设置) 在上一篇博客中,本人详细地整理了如何从0搭建一个HA模式下的分布式Hadoop平台,那么,在上一篇的基础上,我们终于可以进行编程实操了,同样,在编程 ...

  8. 大数据学习笔记——Linux完整部署篇(实操部分)

    Linux环境搭建完整操作流程(包含mysql的安装步骤) 从现在开始,就正式进入到大数据学习的前置工作了,即Linux的学习以及安装,作为运行大数据框架的基础环境,Linux操作系统的重要性自然不言 ...

  9. 大数据学习笔记——Linux基本知识及指令(理论部分)

    Linux学习笔记整理 上一篇博客中,我们详细地整理了如何从0部署一套Linux操作系统,那么这一篇就承接上篇文章,我们仔细地把Linux的一些基础知识以及常用指令(包括一小部分高级命令)做一个梳理, ...

随机推荐

  1. go中的关键字-defer

    1. defer的使用 defer 延迟调用.我们先来看一下,有defer关键字的代码执行顺序: func main() { defer func() { fmt.Println("1号输出 ...

  2. 力扣(LeetCode)验证回文字符串II 个人题解

    给定一个非空字符串 s,最多删除一个字符.判断是否能成为回文字符串. 示例 1: 输入: "aba" 输出: True 示例 2: 输入: "abca" 输出: ...

  3. 《JAVA 程序员面试宝典(第四版)》之传递与引用篇

    废话开场白         这个周末突然很想创业,为什么呢?原因很简单,我周围的同学或者说玩的比较好的朋友都发达了,前一个月和一个两年前还睡在一张床上的朋友,他现在已经在深圳买房买车了,没错是在深圳买 ...

  4. 用 GitBook 创建一本书

    用 GitBook 创建一本书 Gitbook 首先是一个软件,它使用 Git 和 Markdown 来编排书本,如果你没有听过 Git 和 Markdown,那么 gitbook 可能不适合你直接入 ...

  5. 线程池的C++实现(一)

    现代的软件一般都使用了多线程技术,在有些软件里面,一个线程被创建出来执行了仅仅一个任务,然后就被销毁了.线程的创建与销毁是需要消耗资源,这样为了执行单一任务而被创建出来的线程越多,性能也就越差.如果能 ...

  6. firefox常用插件总结

    当初因为ctf比赛而接触啦firefox,慢慢的在firfox上安装满啦各种插件,今天就想着总结一下,给那些刚玩firefox的朋友一些小小的帮助也是好的. 1:Firebug    Firefox强 ...

  7. CCNA 之 三 TCP/IP 及 子网划分

    TCP/IP TCP/IP 协议集或协议簇 概念: 传输控制协议/IRI特网协议(TCP/IP)组是由美国国防比(DoD)所创建的,主要用来确保数据的完整性及毁灭性战争中维持通信 是有一组不同功能的协 ...

  8. Django如何启动源码分析

    Django如何启动源码分析 启动 我们启动Django是通过python manage.py runsever的命令 解决 这句话就是执行manage.py文件,并在命令行发送一个runsever字 ...

  9. 前端js,如何在结构化与性能中做取舍。

    js发展中的问题 随着前端web技术的发展,js要解决的问题也变得越来越多,越来越复杂. 解决更复杂的问题,需要更好的结构. 解决更复杂的问题,也需要更好的性能. 结构的优化在一定程度上会牺牲性能,同 ...

  10. 微信小程序——动态修改页面数据(和样式)及参数传递

    1.1.1动态修改页面数据 在小程序中我们经常要动态渲染数据,对于新手而言我们常常遇到修改的数据在控制台显示和页面显示不一致,因为我们用“=”修改数据的,这种是可以修改,但无法改变页面的状态的,还会造 ...