Hbase
1.介绍
是分布式面向列的数据库,构建在hadoop之上,类似于google的big table,对海量结构化数据的快速随机访问。是hadoop生态系统的一部分,提供随机实时读写。
2.Hbase和Hadoop的区别
HDFS Hbase
1.分布式文件系统,存储大量数据 数据库,构建于HDFS之上
2.不支持快速单个记录查找 支持大表的快速查找
3.提供了高延迟批处理 提供了单行记录低延迟随机访问(10亿级别)
4.只提供数据按序访问 内部使用hash表提供的随机访问,在HDFS上存放索引文件,用于快速查找。
Hbase存储机制
1.面向列族的数据库,适用于海量数据的随机读写
2.Table中只定义了列族,表按照row存储
3.术语
table:表,是row的集合。
row:行,是列族的集合。
column family:列族,是列的集合。
column:列,是kv对集合。
4.面向行和面向列的区别
row column
a.适合于OLTP 适合于OLAP
b.针对行列较少的 大表
5.Hbse和RDBMS区别
Hbase RBDMS
a.是无模式的,没有列的定义 有模式的,描述整个的表结构
只定义列族,列是key
b.适合于宽表,水平伸缩 适合于小表,难于扩展。
c.没有事务支持 事务性的
d.不是规范化的 规范化的
e.结构化和半结构化的 结构化的
Hbase架构
1.master-slave主从结构
2.table从垂直方向进行切割,分成若干个区域。由每个regionserver进行处理。
3.master server(ms)
a.负责指派region给rs,通过ZK获得Task的帮助。
b.处理跨rs的region的负载均衡问题
c.从繁忙服务器到空闲服务器之间的数据转载。
d.通过裁定和,负载均衡判断集群的状态。
4.region
被切割的表,跨rs
5.region server(rs)
和客户端通信
处理数据操作
处理它下面的所有region的读写请求
通过阀值决定region size
Hbase安装
1.下载http://apache.fayea.com/hbase/stable/
2.解压复制建立符号链接
3.配置环境变量
vim /etc/environment
HABASE_HOME=/soft/hbase
:/soft/hbase/bin
source /etc/environment
4.配置hbase的本地模式
[hbase/confi/hbase-site.xml]
<property>
<name>hbase.rootdir</name>
<valuse>file:///home/hadoop/hbase/root</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<valuse>/home/hadoop/hbase/zk</value>
</property>
建立对应的文件夹
5.start-hbase.sh
6.jps=>HMaster
部署
hbase/conf/hbase-site.xml
1.local
hbase.rootdir=file:///
素有hbase程序和zk运行同一个jvm中
2.psesudo(伪分布式)
hbase.rootdir=hdfs://s100:8020/hbase
dfs.replication=1
3.完全分布式
[conf/hbase-site.xml]
hbase.rootdir=hdfs://s100:8020/hbase
dfs.replication=3
hbase.cluster.distributed=true
#zk conf
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>s101,s102,s103</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/hbase/zk</value>
</property>
[conf/regionservers]
s101
s102
s103
b.分发配置
[hbase安装配置]
$>--删除/hbase/docs
$>xsync /soft/hbase
$>xsync /soft/hbase-1.2.5
$root>xsync /etc/environment
$>reboot//重启客户机
c.启动hbase集群,一定要在master主机启动(s100)
$>start-hbase.sh
d.查看进程
$>xcall jps
hmaster //master
hregionserver //regionserver
hquorumpeer //zk
e.查看webui
http://hmaster:16010 //master webui
http://s101:16030 //regionserver webui
hbase常用命令
$>start-hbase.sh //启动集群
$>stop-hbase.sh //停止集群
hbase shell
$>hbase shell //查看shell帮助
$hbase>help //查看帮助
$hbase>help general //查看组帮助
$hbase>create 't1',{name=>'f1'}
$hbase>put 't1','row1','f1:name','tom'
$hbase>delete 't1','row1','f1:name','tom'
$hbase>get + scan 查询
$hbase>create
$hbase>disable //禁用表
$hbase>drop //删除表
转载请注明:MitNick » Hbase架构、存储机制、安装及与hadoop的区别