概述

Hbase –Haddop Database 是一个高性能,高可靠性、面向列、可伸缩的分布式存储系统。

Hbase利用HDFS作为文件存储系统,利用MapReduce来处理Hbase的海量数据,利用Zookeeper作为协调工具。

是NoSQL的一种。

数据模型

表(table),是用来存储管理数据的,是在schema声明的时候定义

行健(row key),类似于MySQL中的主键,与MySQL不同的是Hbase表天然自带的。

可以是字符串、整数、二进制串、串行化的结构。

按照字典顺序由低到高存储在表中的。

列族(column family,列的集合,在Hbase中列族需要在定义表时指定的,列是在插入记录时动态添加的。Hbase表中的数据,每个列族单独一个文件。

Cells ,A{row,column,version}元组就是一个Hbase中的一个cell。内容是不可分割的字节数组。

时间戳(timestamp,列(也称作标签、修饰符)的一个属性。行键和列确定的单元格,可以存储多个数据,每个数据含有时间戳属性,数据具有版本特性。如果不指定时间戳或者版本,默认取最新的数据。

Version,用一个长整型表示,是当前时间和1970-01-01的时间差,单位毫秒。

存储的数据都是字节数组。

存储顺序,表中的数据是按照行健的顺序物理存储的,关系型数据库是按照插入顺序存储的。

逻辑数据模型

数据模型的一行:

表按照行键的“逐字节排序”顺序对行进行有序化处理。

表内数据非常‘稀疏’,不同的行的列的数完全目可以大不相同。

可以只对一行上”锁“。

对行的写操作始终是”原子“的。

数据模型一列

列比较用‘族’famliy来定义。

任意一列形式:”族:标签”,其中,族和标签都可为任意形式的串。

物理上将同“族”数据存储在一起。

数据可以用通过时间戳区分版本。

物理数据模型


物理模型

Hbase是适合海量数据(PB)的秒级简单查询的数据库。

Hbase中的记录,按照行键进行拆分,拆分成一个个的region。

region存储在region server(单独的物理机器)中的,这样对表的操作转化为对多台region server中。

region的大小设置参数:hbase.hregion.max.filesize

体系架构

Hbase是主从式结构,Hmaster、HregionServer。

Client包含访问hbase的接口,client维护着一些cache来加快对hbase的访问,比如region的位置信息。

Zookeeper

保证任何时候,急群众只有一个运行的Master

存储所有Reion的寻址入口。

实时监控Region Server的状态,将Region Server的上下线信息实时通知给Master

存储Hbase的schema,包括有哪些table,每个table有哪些column family。

Master Server

可以启动多个Hmaster,通过Zookeeper的MasterElection机制保证总有一个Master运行。

负责Region Server分配region。

负责region server的负载均衡。

发现失效的region server并重新分配其上的region。

Region Server

负责Master分配给它的region,处理对这些region的IO请求。

负责切分在运行过程中变得过大的region。

总结:client访问hbase上数据的过程并不需要master参与,寻址访问zookeeper和region server数据读写访问region server。HregionServer主要负责响应用户I/O请求,向HDFS文件系统读写数据,是Hbase中最核心的模块。

Hbase初始化表

Hbase中有两张特殊的Table,-ROOT-和.META.

.META. 记录了用户表中的Region信息,.META.可以用多个region。

-ROOT-记录了.META.表中的Region信息,-ROOT-只有一个region。

Zookeeper中记录了-ROOT-表中的location。

Client访问用户数据之前首先访问Zookeeper,然后访问-ROOT-表,接着访问.META.表,最后才能找到用户数据的位置去访问。


Hbase伪分布安装

1、解压、更改目录名

tar –zxvf hbase-xxx.tar.gz –C /usr/src

cp –r hbase-xxx/ /usr/local/hbase

2、配置环境变量,执行立即生效

vi /etc/profile

export HBASE_HOME=/usr/local/hbase

PATH中添加:$HBASE_HOME/bin

source /etc/profile 立即生效

3、修改配置文件

hbase-env.sh

export /usr/local/jdk

export HBASE_MANAGES_ZK=true

hbase-site.xml

<property>

<name>hbase.rootdir</name>

<value>hdfs://h1:9000/hbase</value>

</property>

<property>

<name>hbase.cluster.distributed</name>

<value>true</value>

</property>

<property>

<name>hbase.zookeeper.quorum</name>

<value>h1</value>

</property>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

注意:hbase.rootdir设置的主机名和端口必须与hadoop的dfs.default.name的主机名端口设置一致。

冗余master时:需要在conf中创建back-masters文件中添加master主机名。

4、文件regionservers(可选)

内容为主机名,如 h1

5、启动

启动hbase之前,确保hadoop是运行正常的。

start-hbase.sh

6、jps检验

4749 HMaster

4914 HRegionServer

4681 HquorumPeer

Hbase学习记录(1)|伪分布式安装的更多相关文章

  1. HBase基础和伪分布式安装配置

    一.HBase(NoSQL)的数据模型 1.1 表(table),是存储管理数据的. 1.2 行键(row key),类似于MySQL中的主键,行键是HBase表天然自带的,创建表时不需要指定 1.3 ...

  2. HBase伪分布式安装(HDFS)+ZooKeeper安装+HBase数据操作+HBase架构体系

    HBase1.2.2伪分布式安装(HDFS)+ZooKeeper-3.4.8安装配置+HBase表和数据操作+HBase的架构体系+单例安装,记录了在Ubuntu下对HBase1.2.2的实践操作,H ...

  3. hbase伪分布式安装(单节点安装)

    hbase伪分布式安装(单节点安装) http://hbase.apache.org/book.html#quickstart   1.    前提配置好java,环境java变量     上传jdk ...

  4. Hbase伪分布式安装

    前面的文章已经讲过hadoop伪分布式安装,这里直接介绍hbase伪分布式安装. 1. 下载hbase 版本hbase 1.2.6 2. 解压hbase 3. 修改hbase-env.sh 新增如下内 ...

  5. Hadoop生态圈-hbase介绍-伪分布式安装

    Hadoop生态圈-hbase介绍-伪分布式安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HBase简介 HBase是一个分布式的,持久的,强一致性的存储系统,具有近似最 ...

  6. 第二章 伪分布式安装hadoop hbase

    安装单机模式的hadoop无须配置,在这种方式下,hadoop被认为是一个单独的java进程,这种方式经常用来调试.所以我们讲下伪分布式安装hadoop. 我们继续上一章继续讲解,安装完先试试SSH装 ...

  7. 指导手册02:伪分布式安装Hadoop(ubuntuLinux)

    指导手册02:伪分布式安装Hadoop(ubuntuLinux)   Part 1:安装及配置虚拟机 1.安装Linux. 1.安装Ubuntu1604 64位系统 2.设置语言,能输入中文 3.创建 ...

  8. 一.Kylin的伪分布式安装

    一.伪分布式安装kylin 2018年4月15日 15:06 安装需要的环境 1. hadoop集群环境:由于安装的是CDH5.14.0的版本,所以相关组件都是跟5.14.0相关 2. spark采用 ...

  9. Hadoop大数据初入门----haddop伪分布式安装

    一.hadoop解决了什么问题 hdfs 解决了海量数据的分布式存储,高可靠,易扩展,高吞吐量mapreduce 解决了海量数据的分析处理,通用性强,易开发,健壮性 yarn 解决了资源管理调度 二. ...

  10. Hadoop开发第3期---Hadoop的伪分布式安装

    一.准备工作 1. 远程连接工具的安装 PieTTY 是在PuTTY 基础上开发的,改进了Putty 的用户界面,提供了多语种支持.Putty 作为远程连接linux 的工具,支持SSH 和telne ...

随机推荐

  1. Java 基础-反射

    反射-Reflect 测试用到的代码 1.接口 Person.java public interface Person { Boolean isMale = true; void say(); voi ...

  2. linux 查看程序是否运行

    命令格式:ps -ax|grep program_name 如查看包含python的程序是否运行: ps -ax|grep python ? Sl : python ToServer.py pts/ ...

  3. 利用XPath读取Xml文件

    之所以要引入XPath的概念,目的就是为了在匹配XML文档结构树时能够准确地找到某一个节点元素.可以把XPath比作文件管理路径:通过文件管理路 径,可以按照一定的规则查找到所需要的文件:同样,依据X ...

  4. Android在OnCreate中获取控件的宽度和高度

    在Android中,有时需要对控件进行测量,得到的控件宽度和高度可以用来做一些计算.在需要自适应屏幕的情况下,这种计算就显得特别重要.另一方便,由于需求的原因,希望一进入界面后,就能得到控件的宽度和高 ...

  5. SQL查询时间去除非工作日...

    CREATE FUNCTION [f_WorkDayADD]( @date datetime, --基础日期 @workday int --要增加的工作日数 )RETURNS datetime AS ...

  6. jQuery小例子

    map遍历数组 //=========for循环遍历========== var arr[1,2,3,4,5]; for(var i=0;i<=arr.length;i++) { arr[i]= ...

  7. Linux删除文件后空间没有释放

    .COMMAND默认以9个字符长度显示的命令名称.可使用+c参数指定显示的宽度,若+c后跟的参数为零,则显示命令的全名.PID:进程的ID号.PPID父进程的IP号,默认不显示,当使用-R参数可打开. ...

  8. Couchbase的web管理员后台 查看缓存提示警告 Warning: Editing of document with size more than 2.5kb is not allowed的解决方法

    这个警告仅仅只会发生在web管理员后台,实际在缓存中的数据是不会有影响的(好像默认单个key对应的缓存大小是20M) 但是有时候我们就是想在web后台里面看看到底保存了什么数据,怎么能突破这个限制呢? ...

  9. Git之 手把手教你使用Git

    一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以 ...

  10. hdu 1226 超级密码(bfs+余数判重)

    题意:略过 分析:用m个数字组成一个能够被n整除的c进制数的最小值,实际上本题的关键就在于这个最小值上.  首先确定我们的思路是从小到大寻找.先查看一位数,即查看着m个数字是否能被n整除:若不能,就查 ...