HBase简介

来源:互联网 发布:笨办法学python 26 编辑:程序博客网 时间:2024/05/17 23:13

HBase Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase利用Hadoop HDFS作为其文件存储系统,利用HadoopMapReduce来处理HBase中的海量数据,利用Zookeeper作为协调工具。


1.HBase(NoSQL)的数据模型
1.1 表(table),是存储管理数据的。
1.2 行键(row key),类似于MySQL中的主键。
    行键是HBase表天然自带的。
1.3 列族(column family),列的集合。
    HBase中列族是需要在定义表时指定的,列是在插入记录时动态增加的。
HBase表中的数据,每个列族单独一个文件。
1.4 时间戳(timestamp),列(也称作标签、修饰符)的一个属性。
    行键和列确定的单元格,可以存储多个数据,每个数据含有时间戳属性,数据具有版本特性。
如果不指定时间戳或者版本,默认取最新的数据。
1.5 存储的数据都是字节数组。
1.6 表中的数据是按照行键的顺序物理存储的。


2.HBase的物理模型
2.1 HBase是适合海量数据(如20PB)的秒级简单查询的数据库。
2.2 HBase表中的记录,按照行键进行拆分, 拆分成一个个的region。
    许多个region存储在region server(单独的物理机器)中的。
这样,对表的操作转化为对多台region server的并行查询。


3.HBase的体系结构
3.1 HBase是主从式结构,HMaster、HRegionServer


4.HBase的伪分布
4.1 在hadoop0上解压缩、重命名、设置环境变量HBASE_HOME
4.2 修改文件$HBASE_HOME/conf/hbase-env.sh,修改内容如下
export JAVA_HOME=/usr/local/jdk
export HBASE_MANAGES_ZK=true
4.3 修改文件hbase-site.xml,修改内容如下
<property>
 <name>hbase.rootdir</name>
 <value>hdfs://hadoop0:9000/hbase</value>
</property>
<property>
 <name>hbase.cluster.distributed</name>
 <value>true</value>
</property>
<property>
 <name>hbase.zookeeper.quorum</name>
 <value>hadoop0</value>
</property>
<property>
 <name>dfs.replication</name>
 <value>1</value>
</property>
4.4 (可选)修改regionservers,具体操作见ppt
4.5 启动,执行命令start-hbase.sh
    注意:启动hbase之前要先启动hadoop,确保hadoop可写入数据。

0 0
原创粉丝点击