一、HBase概述

  1.HBase是Hadoop数据库,是一个分布式、可扩展的大数据存储。

  HBase是用于对大数据进行随机、实时读写访问的非关系型数据库,它的目标托管非常大的表——数十亿行N百万列。

  正如Bigtable利用Google文件系统提供的分布式数据存储一样,HBase在Hadoop的HDFS之上提供类似Bigtable的功能。

  2.HBase架构

  Zookeeper    =>  ZK中存储了HMaster的元数据信息

  HMaster       =>  主节点

  HRegionServer    =>  区域服务器

  HLog       =>  预写入日志

  HRegion       =>  区域,可以理解成表

  Store       =>  存储单元

  Memstore     =>  内存的一块区域,负责写入数据的缓存

  blockcache      =>  内存的一块区域,负责读取数据的缓存(图中未显示)

  storeFile       =>  写入磁盘的一个文件,HFile是物理上的存储单元

  3.HBase的作用

  HBase通过HRegionServer连接了HDFS的客户端,然后在存数据时将生成的HFile文件存储到hdfs中,之后把本地的HFile文件删除只保留元数据信息。

  HBase就是建立在HDFS之上的数据库。

二、HBase集群的安装部署

  1.准备工作

   HBase基于HDFS集群和Zookeeper集群,所以要先安装hdfs和zk;

   安装完成后去HBase官网下载对应安装包,本人使用的是1.3.0版本,上传到集群,解压,重命名文件为HBase;

   HBase官网:hbase.apache.org

  2.修改配置文件

   进入conf目录下修改hbase-env.sh和hbase-site.xml文件

   (1)vi hbase-env.sh

   JAVA_HOME=/root/hd/jdk1.8.0_141
     HBASE_MANAGES_ZK=false

   (2)vi hbase-site.xml 

    将下面的配置信息加入到<configuration></configuration>之中

        <!-- 设置namenode所在位置 通过rootdir设置 也就是设置hdfs中存放的路径 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://hd1-1:9000/hbase</value>
</property> <!-- 是否开启集群 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property> <!-- 0.98 后的新变动,之前版本没有.port,默认端口为 60000 -->
<property>
<name>hbase.master.port</name>
<value>16000</value>
</property> <!-- zookeeper集群的位置 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>hd1-1:2181,hd1-2:2181,hd1-3:2181</value>
</property> <!-- hbase的元数据信息存储在zookeeper的位置 -->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/root/hd/zookeeper-3.4.10/zkData</value>
</property>

  3.进入regionservers文件(vi regionservers)添加所有节点

    hd1-1
    hd1-2
    hd1-3

  4.解决版本依赖不一致问题

   进入hbase/lib目录中,查看hadoop和zookeeper的jar包的版本是否和自己安装的版本一致,不同则删除jar包

    rm -rf hadoop-*

    rm -rf zookeeper-*

   然后将与自己版本一致的hadoop和zk依赖包导入到该目录,jar包如下:

  

  通过sftp导入到linux集群。

  5.建立配置信息软连接

   进入hbase/conf目录下,添加配置(根据自己的路径修改就好)

    ln -s /root/hd/hadoop/etc/hadoop/core-site.xml  /root/hd/hbase/conf/

    ln -s /root/hd/hadoop/etc/hadoop/hdfs-site.xml  /root/hd/hbase/conf/

   也可以将这两个配置复制到hbase/conf目录下;

  6.将配置好的hbase文件夹发送到其他集群机器

    scp -r /root/hd/hbase/ hd1-2:/root/hd/

  7.启动hbase集群

   (1)先启动hdfs和zookeeper

    start-dfs.sh、zkServer.sh start

   (2)启动hbase(没有配置环境变量,要在hbase目录下启动)

    bin/hbase-daemon.sh start master  启动主节点

    bin/hbase-daemon.sh start regionserver   启动从节点

  8.访问与测试

    (1)可以通过你的主机点的IP地址加端口号访问UI界面

    192.168.50.183:16010

    (2)启动shell命令行进行测试

    bin/hbase shell

    list

  这样,HBase就配置完成了~~

    

HBase的概述和安装部署的更多相关文章

  1. Kafka概述及安装部署

    一.Kafka概述 1.Kafka是一个分布式流媒体平台,它有三个关键功能: (1)发布和订阅记录流,类似于消息队列或企业消息传递系统: (2)以容错的持久方式存储记录流: (3)记录发送时处理流. ...

  2. Zookeeper的概述、安装部署及选举机制

    一.Zookeeper概述 1.Zookeeper是Hadoop生态的管理者,它致力于开发和维护开源服务器,实现高度可靠的分布式协调. 2.Zookeeper的两大功能: (1)存储数据 (2)监听 ...

  3. Flume的概述和安装部署

    一.Flume概述 Flume是一种分布式.可靠且可用的服务,用于有效的收集.聚合和移动大量日志文件数据.Flume具有基于流数据流的简单灵活的框架,具有可靠的可靠性机制和许多故障转移和恢复机制,具有 ...

  4. Spark-Unit1-spark概述与安装部署

    一.Spark概述 spark官网:spark.apache.org Spark是用的大规模数据处理的统一计算引擎,它是为大数据处理而设计的快速通用的计算引擎.spark诞生于加油大学伯克利分校AMP ...

  5. HBase集群的安装部署

    HBase的安装是是建立在hadoop和zookeeper集群之上的 安装的步骤跟伪分布式差不多,只是修改了一些配置文件 解压缩.重命名.设置环境变量 把hbase-0.94.2-security.t ...

  6. 【Hadoop离线基础总结】oozie的安装部署与使用

    目录 简单介绍 概述 架构 安装部署 1.修改core-site.xml 2.上传oozie的安装包并解压 3.解压hadooplibs到与oozie平行的目录 4.创建libext目录,并拷贝依赖包 ...

  7. Kubernetes后台数据库etcd:安装部署etcd集群,数据备份与恢复

    目录 一.系统环境 二.前言 三.etcd数据库 3.1 概述 四.安装部署etcd单节点 4.1 环境介绍 4.2 配置节点的基本环境 4.3 安装部署etcd单节点 4.4 使用客户端访问etcd ...

  8. Hbase单机安装部署

    Hbase单机安装部署 http://blogxinxiucan.sh1.newtouch.com/2017/07/27/Hbase单机安装部署/ 下载Hbase Hbase官网下载地址 http:/ ...

  9. HBase集群安装部署

    0x01 软件环境 OS: CentOS6.5 x64 java: jdk1.8.0_111 hadoop: hadoop-2.5.2 hbase: hbase-0.98.24 0x02 集群概况 I ...

随机推荐

  1. HTML_1

    HTML 指的是超文本标记语言: HyperText Markup LanguageHTML 不是一种编程语言,而是一种标记语言标记语言是一套标记标签 (markup tag)HTML 使用标记标签来 ...

  2. Python中加入中文注释

    最近开发学习Pyton,当加入中文注释时,运行程序报错: File SyntaxError: Non-ASCII character , but no encoding declared; see h ...

  3. 清北学堂 清北-Day1-R1-Count

    题目描述 问有几个无序二元组 (x; y) 满足 xy ≡ 1 (mod P ); 0 ≤ x < P; 0 ≤ y <P.无序二元组是指,如果 P = 10, (3; 7) 和 (7; ...

  4. destoon使用

    使用小计 1.判断是否是手机端 {$DT_TOUCH}模板中使用 2.判断句 {if}  {/if} 3.表单管理 扩展功能-----表单管理:添加表单---->管理表单选项------> ...

  5. 我不是机器人:谷歌最新版验证码系统ReCaptcha破解已开源

    选自 Github 作者:George Hughey 机器之心编译 每个人都讨厌验证码,这些恼人的图片中包含你必须输入的字符,我们只有正确地填写才能继续访问网站.验证码旨在确认访问者是人还是程序,并防 ...

  6. Windows 批处理大全(附各种实例)

    Windows 批处理大全(附各种实例) 2009年07月19日 21:31:00 阅读数:2552 批处理文件是无格式的文本文件,它包含一条或多条命令.它的文件扩展名为 .bat 或 .cmd.在命 ...

  7. SpringAOP面向切面编程

    Spring中三大核心思想之一AOP(面向切面编程): 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的 ...

  8. 【python】gevent协程例子

    说在前面:用协程还是多线程需要仔细考量.我在做实验时请求了100w个ip,分别用pool为1000的协程和64个线程来跑,结果是多线程的速度是协程的10倍以上. 一个简单的协程例子 #!/usr/bi ...

  9. bzoj 4816

    这题是莫比乌斯反演的典型题也是很有趣的题. 题意:求,其中f为为斐波那契数列 那么首先观察一下指数,发现是我们熟悉的形式,可以转化成这样的形式: 令T=kd,且假设n<m,有: 令 则原式= 这 ...

  10. C++ 使用system()实现锁定屏幕

    除了使用函数“LockWorkStation()”实现锁定屏幕,参考:http://www.cnblogs.com/Satu/p/8183081.html 此外,也可以使用函数“system()”来实 ...