Hbase简答
1、简述一下hbase是什么
Hbase是一个Nosql的数据库,开源,分布式,可扩展,
- 基于bigtable思想
- not only sql
- 面向列式存储
- 存储数十亿行*上百万列
- Hbase基于hadoop
- Hbase是hadoop的数据库
- Hbase提供了近似实时读写的功能,利用率内存机制
2、简述一下Hbase的表模型
- 面向列
- 数据以KV对进行存储,可以存储上百万数量级
- 引入column family概念
- 一个表可以包含多个column family .一个column family可以储存在多个文件中(比如过大)
- 引入rowkey概念
- 表数据存储在region中,region是表的存储单位,region是一整张表或者一张表的一部分
- 数据首先依据rowkey排序,然后安装column family排序,同一column family依据key进行排序,
- region是有rowkey范围的
- 表模型只支持byte[]类型.
- kv对支持历史记录,版本号是时间戳.
-
3、简述一下Hbase的体系结构
Hbase体系结构
- client
- 提供接口,java api.shell等
- 内存中维护访问过的数据地址
- hdfs:用于存储数据
- region:
- 表或表的一部分,包含store,一个store为一个column family.
- 包含memstore,大小为128M,大于128时,会冲刷成Hfile文件
- Hmaster
- hbase的管理者
- 保证region server的负载均衡
- region合并切分等
- region server
- 接收Hmster分配的任务
- 数据写入Hlog,(避免数据丢失
- region切分合并等等
- dfs Client
- hfds与hbase的中间层
- zookeeper
- region server动态上下线感知
- 存储region server及表名称
- 监控Hmaster
- region寻址入口
4、简述一下Hbase的完全分布式安装步骤
- 安装hbase
- 配置Hbase环境变量/etc/profile
- 配置Hbase-env.sh
- 配置jdk环境以及关闭内置zookeeper
- 配置Hbase-site.xml
- 配置hbase在hdfs上的存储路径
- 配置用户自定义的zookeeper集群
- 启用hbase的集群模式
- 配置regionserver所在节点文件
- 配置备用的hmster
- 将hdfs的core-site.xml,hdfs-site拷贝到hbase的conf目录
- 同步三台机器的/etc.profile