一、Hbase简介
1.基本描述
Hadoop的原始特性是解决大规模数据的离线批处理场景。HDFS具有强大的存储容量,但它并不提供强大的数据查询机制。HBase组件基于HDFS文件系统提供类似于BigTable服务。
HBase是一个分布式、可扩展的NoSQL数据库,支持海量结构化数据存储。HBase在Hadoop的基础上提供了类似于Bigtable的功能,Bigtable基于列存储模式,而不是基于行的模式。存储数据的特点:非结构化或松散半结构化数据,自然要有横向扩展的能力来存储大表,基于服务集群处理海量数据。
2.数据模型
基于Hbase的数据结构基本描述;
表-表:它由行和列组成,列被分成几个列族。
行-行:行键用于标识,行代表数据对象;
列族:列族支持动态扩展,以字符串形式存储;
列标识符:列族中的数据由列标识符定位;
单元格:行键、列族和列标识符共同决定了一个单元格。
单位数据:单位中存储的数据称为单位数据;
时间戳:版本标识默认基于时间戳;
HBase的数据模型与关系数据库非常相似。数据存储在有行和列的表中。而HBase的底层物理存储结构更像是一个Map(K-V)集合。
数据管理基于列存储的特点;
简单的数据模型,内容存储为字符串;
没有复杂的表关系,简单的添加、删除和查询操作;
从整体上看数据模型,HBase是一个稀疏的、多维的、有序的映射表。该表的索引是行键、列族、列限定符和时间戳。每个值都是一个无法解释的字符串。
第二,构建集群环境
1.解压缩文件
tar -zxvf hbase-1.3.1-bin.tar.gz
2、配置环境变量
vim /etc/profile
export HBASE_HOME=/opt/hbase-1.3.1
export PATH=
P
A
T
H
:
PATH:
PATH:HBASE_HOME/bin
source /etc/profile
3、配置:hbase-env
vim /opt/hbase-1.3.1/conf/hbase-env.sh
export JAVA_HOME=/opt/jdk1.8
export HBASE_MANAGES_ZK=false
4、配置:hbase-site
vim /opt/hbase-1.3.1/conf/hbase-site.xml
hbase.rootdir hdfs://hop01:9000/HBase hbase.cluster.distributed true hbase.master.port 16000 hbase.zookeeper.quorum hop01,hop02,hop03 hbase.zookeeper.property.dataDir /data/zookeeper/data/ 5、配置:regionserversvim /opt/hbase-1.3.1/conf/regionservers
hop01
hop02
hop03
6、配置:软连接
软连接hadoop配置文件到HBase
ln -s /opt/hadoop2.7/etc/hadoop/core-site.xml /opt/hbase-1.3.1/conf/core-site.xml
ln -s /opt/hadoop2.7/etc/hadoop/hdfs-site.xml /opt/hbase-1.3.1/conf/hdfs-site.xml
7、同步集群服务环境
也可以手动配置集群,或者使用同步命令。
xsync hbase/
8、启动集群
在hop01节点启动即可。
/opt/hbase-1.3.1/bin/start-hbase.sh