<强> 1,hbase概述强>
<强> 1.1 hbase是什么强>
hbase是基于hdfs进行数据的分布式存储,具有高可靠,高性能,列存储,可伸缩,实时读写的nosql数据库。
hbase可以存储海量的数据,并且后期查询性能很高,可以实现上亿条数据的查询秒级返回结果。
<强> 1.2 hbase表的特性强>
1,大
-
<李> hbase表可以存储海量的数据。李>
2,无模式
-
<李> mysql表中每一行列的字段是相同,而hbase表中每一行数据可以有截然不同的列。李>
3面向列
-
<李> hbase表中的数据可以有很多个列,后期它就是按照不同的列去存储数据,写入到不同的文件中。李>
<李>面向列族进行存储数据。李>
4,稀疏
-
<李>在hbase表中为空的列并不占用实际的存储空间。李>
5,数据的多版本
-
<李>对于hbase表中的数据在进行数据更新的时候,它并没有把之前的结果数据直接删除掉,而是保留数据的多个版本,每一个数据都给一个版本号,这个版本号就是按照我们插入数据的时间戳去确定。李>
6,数据类型单一
-
<李>无论是什么类型的数据,最后都被转换成了字节数组存储在hbase表中李>
<强> 1.3 hbase表的逻辑视图强>
<强> 2,hbase的集群结构强>
1,客户
-
<李>提供了对hbase表操作的一些java接口。李>
<李>客户维护着一些缓存来加快对hbase的访问李>
<李>客户端会将查询过的位置信息保存缓存起来,缓存不会主动失效李>
2,动物园管理员
客户端操作hbase表数据需要一个zk集群
作用
1, zk保存了hbase集群的元数据信息
存储Hbase的模式,包括有哪些表,每个表有哪些列族
2、zk保存所有hbase表的寻址入口
后期通过客户端接口去操作hbase数据的时候,需要连接上zk集群
存贮所有地区的寻址入口——根表在哪台服务器上3,通过引入了zk之后,实现了整个hbase集群高可用
4, zk保存了HMaster和HRegionServer它们的注册和心跳信息
后期哪一个HRegionServer挂掉之后,zk也会感知到,然后把这个信息通知给老大HMaster
引用>3, HMaster
它是整个hbase集群老大
作用
1,它接受客户端创建表,删除表的请求。处理模式更新请求
2,它会给HRegionServer分配对应的地区,进行数据的管理
3,它会把挂掉的HRegionServer所管理的区域重新分配给其他的活着的HRegionServer
4,它会实现HRegionServer负载均衡,避免某一个HRegionServer管理过的地区多。
引用>4, HRegionServer
它是整合hbase集群的小弟
作用
1,负责管理HMaster老大给它分配的地区
2,它会接受到客户端的读写请求
3,它会把在运行过程中,变得过大的区域数据进行切分
引用>5,地区
它是整个hbase表中分布式存储的最小单元
它的数据是基于hdfs进行存储
<强> 3,hbase集群安装部署强>
前提条件
<李>先搭建好zk, hadoop集群李>
1,下载对应的安装包
<李> http://archive.apache.org/dist/hbase/1.2.1/hbase-1.2.1-bin.tar.gz 李> <李> hbase-1.2.1-bin.tar.gz李>
2,规划安装目录
<李> 李>/出口/服务器
3,上传安装包到服务器中
4,解压安装包到指定的规划目录
<李>焦油-zxvf hbase-1.2.1-bin.tar。李gz - c/出口/服务器>
5,重命名解压目录
<李> mv hbase-1.2.1 hbase李>
6,修改配置文件
需要把hadoop安装目录下/etc/hadoop文件夹中
<李> core-site.xml李> <李> hdfs-site.xml李>
需要把以上2个hadoop的配置文件拷贝到hbase安装目录下的配置文件夹中
Hbase入门详解