一、HBase概述
1、简介
1.11.介绍
是分布式 面向列族 的数据库,构建在hadoop之上.
类似于google的big table,对海量结构化数据的快速随机访问。
是hadoop生态系统的一部分,提供随机实时读写。
1.2.hbase和hadoop的区别
hdfs hbase
1) 分布式文件系统,存储大量数据 数据库,构建在hadoop的hdfs之上
2) 不支持快速单个记录的查找 支持大表的快速查找
3) 提供高延迟批处理 提供单行记录低延迟随机访问(10亿级别)
4) 只提供数据按序访问 内部使用hash表提供的随机访问。在hdfs上存放索引文件,用于快速查找。
2、Hbase存储机制
2.1.面向列族的数据库。基于HDFS。随机访问,实时读写。
2.2.table中只定义了列族,表按照row存储。
2.3.术语
table :表,是row的集合
row: :行,是column family的集合
column family: :列族,是column的集合
column :列,是kv对的集合
2.4.面向行和面向列的区别:
面向行 面向列
1) 适合于OLTP 适合于OLAP
2) 针对行列较少的 大表
2.5.hbase和RDBMS区别
hbase RDBMS
1) 是无模式的,没有列的定义, 有模式,描述整个table结构
只定义列族,列是key
2) 适合于宽表,水平可伸缩 适合于小表,难于扩展
3) 没有事务支持 事务性的
4) 不是规范化的 规范化的
5) 结构化和半结构化 结构化的
3、Hbase架构
3.1.master-server 主从结构
3.2.table从竖直方向进行切割,分成若干个区域,由每个region server进行处理。
3.3.master server(MS)
a.负责指派region给RS,通过ZK获得task的帮助
b.处理跨RS的region的负载均衡问题
c.从繁忙服务到空闲服务器之间的数据转载
d.通过裁定负载均衡判断集群的状态。
3.4.region
被切割的块,跨RS
3.5.region server(RS)
和client通信
处理数据操作
处理他下面的所有region的读写请求
通过阈值决定region的大小。
二、HBase安装
1.下载 hbase-1.2.6-bin.tar.gz
2.解压到 /opt 目录下
3.配置环境变量
4.配置HBase的本地模式
[hbase/conf/hbase-site.xml]
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///home/cyx/hbase/root</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/cyx/hbase/zk</value>
</property>
</configuration>
5.启动
start-hbase.sh
三、HBase部署,三种方式
---------------------------------------------
配置文件路径:[hbase/conf/hbase-site.xml]
1.本地模式,local
hbase.rootdir=file:///
所有hbase进程和zk运行在同一个JVM中
2.伪分布式,psesudo,相当于完全分布式,但是只有一个节点
hbase.rootdir=hdfs:///h1:8020/hbase
dfs.replication=1
3.完全分布式
3.1.配置
[hbase/conf/hbase-site.xml]
# hbase 配置
hbase.rootdir=hdfs:///h1:8020/hbase
dfs.replication=3
hbase.cluster.distributed=true
# zk 配置
<property>
<name>hbase.tmp.dir</name>
<value>/home/cyx/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>h3,h4,h5</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>${hbase.tmp.dir}/zk</value>
</property>
[conf/regionservers]
h3
h4
h5
3.2.分发配置、环境变量配置
[hbase安装配置目录]
$> rm -rf /opt/hbase/docs //无用的文件html,比较大
$> xsync hbase
$> xsync hbase-1.2.6
$> source /etc/profile
3.3.重启客户机
3.4.启动hbase集群,一定要在master主机启动 h1
$> start-hbase.sh
3.5.查看进程
$> xcall jps
.....省略 Hadoop
HMaster // master
HRegionServer // regionserver
HQuorumpeer // zk
3.6.查看WebUI
http://h1:16010 // master
http://h3:16030 // regionserver