Overview

​ HBase是Hadoop数据库,是一个分布式,可扩展的大数据存储。当您需要对大数据进行随机、实时读/写访问时,请使用HBase。该项目的目标是托管非常大的表 - 数十亿行X百万列 - 在商品硬件集群上。HBase是一个开源的,分布式的,版本化的非关系数据库,模仿Google的Bigtable:结构化数据分布式存储系统。正如Bigtable利用Google文件系统提供的分布式数据存储一样,HBase在Hadoop和HDFS之上提供类似Bigtable的功能。

HBase****适用于海量数据的准实时查询。

**HBase****的特点:**海量数据,列式存储,多版本,稀疏性,扩展新(底层基于HDFS),高可靠性,高性能(底层的LSM数据结构和Rowkey有序排列等架构上的独特设计,使得Hbase具有非常高的写入性能,Region切分、主键索引和缓存机制à高性能读性能)

Hbase****在hadoop2.X中的作用

Hbase是基于HDFS的一个数据存储工具,如图所示:

数据仓库—Hbase

HBase****的架构体系:

从物理结构上讲,HBase由三种类型的服务器构成主从式架构。Region Servers为数据的读取和写入提供服务。当访问数据时,客户端直接和Region Servers通信。Region的分配,DDL (create, delete tables)操作有HBase Master进程处理。Zookeeper是HDFS的一部分,维护着一个活动的集群。

Hadoop DataNode 存储着Region Server所管理的数据。所有的HBase数据存储在HDFS的文件中。Region Server和HDfs DataNode并置在一起,这使得RegionServers所服务的数据具有数据局部性(使数据接近需要的位置)。HBase数据在写入时是本地数据,但是当Region移动时,在压实之前它不是本地数据。NameNode维护构成文件的所有物理数据块的元数据信息。

数据仓库—Hbase

Regions

HBase表是按照rowkey范围水平划分为“Regions”.Region包含表中start key和end key之间的所有行。Region Server将Regions分配到集群的节点中,并对数据的读取和写入提供服务。单个Redion Server可服务大约1000个region。

HBase HMaster

Region分配,DDL(create, delete tables)操作由HBase Master处理。
Mater的主要职责:

协调Region Servers

启动时分配Region,还原时重新分配Region或者负载均衡

监控集群中所有RegionServer实例(监听Zookeeper的消息)

管理员方法

提供创建,删除,更新表的接口。

HBase与关系型数据库的对比:

数据仓库—Hbase

HBase环境搭建:

​ 修改hbase-env.sh文件:

export JAVA_HOME=/home/zengyouxuan/jdk/jdk1.8.0_191

export HBASE_MANAGES_ZK=false

​ 修改hbase-site.xml文件:

​ hbase.rootdir

​ hdfs://hadoop000:8020

​ hbase.cluster.distributed

​ true

​ hbase.zookeeper.quorum

​ hadoop000:2181

​ 修改regionserver文件:

​ 将localhost 改为 hadoop000

HBase监控WEB页面的介绍:

数据仓库—Hbase

HBase启动命令:

数据仓库—Hbase

shell命令操作:

create ‘test’,‘info’

scan ‘test’

put ‘test’,‘0001’,‘info:username’,‘shj’

describe test:详细描述信息

disable test:禁用表

还有很多命令:count,delete,truncate,get。。。见下表

hbase shell命令 描述
alter 修改列族(column family)模式
count 统计表中行的数量
create 创建表
describe 显示表相关的详细信息
delete 删除指定对象的值(可以为表,行,列对应的值,另外也可以指定时间戳的值)
deleteall 删除指定行的所有元素值
disable 使表无效
drop 删除表
enable 使表有效
exists 测试表是否存在
exit 退出hbase shell
get 获取行或单元(cell)的值
incr 增加指定表,行或列的值
list 列出hbase中存在的所有表
put 向指向的表单元添加值
tools 列出hbase所支持的工具
scan 通过对表的扫描来获取对用的值
status 返回hbase集群的状态信息
shutdown 关闭hbase集群(与exit不同)
truncate 重新创建指定表
version 返回hbase版本信息

相关文章:

  • 2021-05-03
  • 2021-12-19
  • 2021-12-03
猜你喜欢
  • 2022-01-05
  • 2021-08-12
  • 2021-11-22
  • 2021-09-28
  • 2021-07-13
  • 2021-07-01
相关资源
相似解决方案