Hbase笔记 入门

Hbase概述

Hdfs之上(也可存储在本地)分布式面向列的开源数据存储

Hdfs高可靠有备份分布式(分而治之)

Google bigtable开源实现存储海量数据

面向行-数据库中的数据以行的方式进行存储一行存储为一个部分

面向列:数据库中的数据以列的方式进行存储一列存储为一个部分企业中的数据查询一般不会全表扫描查询几个字段(面向行的数据每一行数据扫描一遍)

面向列只查找对应的几个列提高查询效率

存储类型:视频音频图片

社区好,理论经过实践,丰富的工具支持

Hbase自带的运维类hbck第三方工具:phoenix实现sql语法查询Hbase表数据

使用solr建立hbase二级索引

高效:随机读写转化为顺序读写适应高并发写入传统服务器对于随机读写效率低

均衡效果好读写性能和机器数保持线性相关

行中没有保存数据的列不占存储空间面向行的存储无数据也会占用空间

分布式特点:

存储在hdfs中很好的容错性hdfs有备份策略

均衡策略是基于datanode

使用zookeeper进行集群的协同工作

一致性(所有的结点在同一时刻得到的数据都是相同的)、可用性(每个请求在一定时间内都会得到返回)、分区容忍性(某台服务器数据丢失不影响整个集群的工作)

大数据存储

易扩展(hbase支持结点的扩展和卸载)

大:一个表十亿行百万列

面向列:面向列(列族)的存储和权限访问,列(列族)独立索引

稀疏:对于为null空的列,并不占用存储空间,表设计的非常稀疏

数据类型单一:hbase中的数据类型都是字符串string

无模式:每行都有一个可排序的主键和任意多的列,列可以根据需要动态增加同一张表不同行可以有截然不同的列

Hbase和普通关系型数据库

数据类型:hbase数据都是字符串类型string rdbms不止string

数据操作:hbase只有普通的增删改查没有关联查询可以自己写mr

也可以使用phoenix

存储模式:hbase基于列存储的rdbms基于行式存储的

应用场景:hbase适合存储大量数据查询效率极高hbase表自带索引,

Hbase术语以及数据模型:

主键row key类似于mysql中的主键唯一标识一行检索记录的主键

访问hbase表中的行只有三种方式:

一条记录:单个row key查询

全表扫描:

范围查询:row key的range企业比这个比较多

Hbase中主键可以为任意的字符串最大长度为64kb按字典顺序存储在hbase内部保存为字节数组

列族column family字段前的限定符

列族在创建表的时候声明(必须。没有声明修改表添加列族),一个列族可以包含多个列,列中的数据都是以二进制形式存在,没有数据类型

列族一些列的集合

Hbase中一个列所有列成员有着相同的前缀,:是列族和列成员之间的分隔符,。

时间戳和存储单元:timestamp and cell

Hbase中通过row和columns确定的一个存储单元为cell。每一个cell保存着同一个数据的多个版本。

Hbase中通过插入一条主键相同的数据进行修改,存储多个版本的数据。

写入数据时,时间戳可以由hbase自动赋值,当前系统时间精确到秒毫秒也可以显示赋值。

每个cell中不同版本的数据都是按照时间的排序倒序存储。

{roe,column,version}元组就是一个hbase中的一个cell

Hbase物理模型

Hbase中一个列族存储为一个部分,

Hbase物理存储

所有数据都是存储在region中,由region server进行管理维护表与region的关系

Hbase存储细节:每个列族存储在hdfs上的一个单独文件夹实际设计中列族只设计一个

否则读取两个文件夹的内容效率低下

Key和version number会在每个列族中存储一份

空值不会被保存不占位

Hbase hdfs目录分析:walregion hdfs目录

Wal预写日志

Temprory:.tmphbase的临时目录对表进行删除和创建时,hbase首先将表移动至该目录,然后进行操作

Wals:write ahead log预写日志是regionserver在处理数据插入和删除过程中用来记录操作内容的一种日志,0.94.x叫做.logs0.98 wal

向hbase写入数据:

首先存Hlog文件,存储在hdfs上,

然后再region中存储数据—首先写到内存里存储到一定大小后,spill到磁盘文件以及hdfs文件中

Region:

每张表存的数据都是region一张表存的数据可以是一个region或者是多个region

每个region由region进行管理

Region分裂起初一张表只有一个region当一个region达到一定大小后就尅是分裂

子region会存在一个父region的引用地址

一个表有一个或者多个region,region包含一个包含memStor和storefile

Memstore存储在内存中,一开始只有memstore,当memstore达到128M后,hbase生成一个storefile文件,storefile存储在本地磁盘,region最核心的文件。

data目录:存储hbase表的数据

默认情况下目录下有两个目录:data/default用户创建表时,没有指定namespace时,表创建在此目录下

Data/hbase系统内部创建的表(meta表:存储region的详细信息namespace表:存储命名空间)

Hbase.id存储的是集群的唯一的cluster.id uuid

Hbase.version集群版本号

oldWALs对应0.94.x版本中的.oldlogs目录当WALs中的logs没有用后,将这些logs移动到此目录下,Hmaster会定期的进行清理。

Hbase shell

Hbase组命令

General与namespace命令

删除表-首先禁用然后删除

跟新数据:重写一遍进行覆盖插入rowkey相同的一条数据

组命令:(0.98)

General; dml; visibilitytables;tools;security;replication;quotas;ddl;snapshots;namespace;

General: whoami status table_help version

Namespace:命名空间类似于数据库

alter_namespace create_namespacedescribe_namespace,drop_namespcae list_namespace list_namespace_tables;

演示步骤:

1、hadoop安装目录的bin目录下start-dfs.sh

首先启动namenode datanodesecondNamenode

2、启动yarnstart-yarn.sh

Resource managernodemanager

3、启动hbase --启动zookeeper

Hbase安装目录下hbase-daemon.sh start zookeeper

启动hmasterhbase-daemon.sh startmaster

启动regionServerhbase-daemon.shstart regionserver

4、Bin/hbase

Shell hbcksnapshothfile zkcli upgrade master regionserver zookeeper rest thrift thrift2 cleanclasspath mapredcp pe ltt classname

Hbase shell =>

Snapshot对hbase中的表进行快照通过快照恢复数据

本地模型与hbase相关进程都运行在同一jvm中一个挂了全部挂了

伪分布式模型—hbase相关进程每个进程一个jvm

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 156,907评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,546评论 1 289
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,705评论 0 238
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,624评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,940评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,371评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,672评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,396评论 0 195
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,069评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,350评论 2 242
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,876评论 1 256
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,243评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,847评论 3 231
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,004评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,755评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,378评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,266评论 2 259

推荐阅读更多精彩内容

  • 最近在逐步跟进Hbase的相关工作,由于之前对Hbase并不怎么了解,因此系统地学习了下Hbase,为了加深对Hb...
    飞鸿无痕阅读 50,051评论 19 271
  • 1. HBase介绍,Hbase是什么? HBase -- Hadoop Database ,是一个高可靠、高性能...
    奉先阅读 3,685评论 1 36
  • HBase那些事 @(大数据工程学院)[HBase, Hadoop, 优化, HadoopChen, hbase]...
    分痴阅读 3,879评论 3 17
  • 入门指南 1. 简介 Quickstart会让你启动和运行一个单节点单机HBase。 2. 快速启动 – 单点HB...
    和心数据阅读 4,323评论 1 41
  • HBase存储架构图 HBase Master 为Region server分配region 负责Region s...
    kimibob阅读 5,497评论 0 52