HBase学习
总结:
HBase是一个分布式的数据库
主要作用: 海量数据的存储和海量数据的准实时查询
一、HBase的应用场景
应用场景 交通 、金融、电商、移动
HBase特点 (重点): 针对特点去思考 容量大(针对TB级别的数据,千万起步) 列式存储(根据数据自动增加列),建表时不需要指定列 多版本(针对具体列,进行管理) 扩展性(在分布式文件系统,不需要停掉集群,可在集群中动态的添加节点,就可以增加存储空间) 稀疏性(节省空间) 高性能(读性能,写性能) 指定列,去读写 高可靠性(副本数,通过日志信息)进行数据的恢复
二、HBase的定义和定位
官方对于HBase的概念描述 Hadoop生态系统中对于HBase的定位
三、HBase的架构体系和设计模型
服务架构体系 1) HBase的主要进程: master(管理regionserver) regionserver(向master发送心跳,管理region) 2) HBase所依赖的两个外部的服务: zookeeper HDFS
设计模型 1) 表结构 2) 表数据
四、HBase的安装部署
HBase的部署前置条件 1) JDK1.7 以上版本 2) Hadoop 2.5.x 以上的版本 3) Zookeeper 3.4.x 以上的版本 (对于zookeeper的部署,都是集群的,基本都是三台以上)
五、HBase shell
DDL操作 create describe list disable enable drop is_enabled is_disabled ... DML操作 put get delete count scan ...
start-hbase.sh 先启动hbase
hbase shell 进入hbase 命令行
Hbase表操作命令介绍并演示 DML
create 创建表 create 'test','info'. 指定表名和列族名
describe 列出表的详细信息
drop 先把表禁用了,才可以进行删除
list 列出所有表
enable 启用表
disable 禁用表
is_enabled 列出可用的表
is_disable 不可用的表
HBase表数据操作命令介绍并演示. DDL
count. 求和 count 'test' 对行就和
delete 删除 delete 'test' ,'0001','info:age'
get 获取 get 'test' ,'0001','info:username'
put 插入 put 'test','0001','info:age','30'
scan 扫描 scan 'test'
truncate 组合. 删除后,在创建,就是表的初始化. truncate 'test'