Hbase(实时分布式数据库): NoSql的数据库,像其他数据库一样提供随即读写功能 列式存储
链式的存储,结构化数据的可伸缩可扩展高性能面向链的数据库。非常大,快速查询,秒级别查询上亿,可进行实时查询HBase 是一个建立在 HDFS 之上,面向列的 NoSQL 数据库,用于快速读/写大量数据,HBase 使用 Zookeeper 进行管理。
HBase 是按列族进行数据存储的。每个列族会包括许多列,并且这些列是经常需要同时处理的属性。也就是说,HBase 把经常需要一起处理的列构成列族一起存放,从而避免了需要对这些列进行重构的操作。
Hadoop 是一个高容错、高延时的分布式文件系统和高并发的批处理系统,不适用于提供实时计算,而 HBase 是可以提供实时计算的分布式数据库,数据被保存在 HDFS (分布式文件系统)上,由 HDFS 保证其高容错性。
hbase 稀疏、多维度、有序的映射表。
http://c.biancheng.net/view/3586.html
Region 分区 replication 副本
HBase 的集群主要由 Master、Region Server 和 Zookeeper 组成,
hbase常见情况:
HBase的增、删、改、查操作。在添加数据时,HBase会自动为添加的数据添加一个时间戳,故在需要修改数据时,只需直接添加数据,HBase即会生成一个新的版本,从而完成“改”操作,旧的版本依旧保留,系统会定时回收垃圾数据,只留下最新的几个版本,保存的版本数可以在创建表的时候指
hbase参考指南(官网): https://hbase.apache.org/book.html#standalone_dist
学习参考路线: https://www.cnblogs.com/qingyunzong/p/8668880.html#_label3_0
? http://dblab.xmu.edu.cn/blog/2442-2/
Hbase 安装部署及常用操作
1.hbase下载并上传hbase-2.4.4-bin.tar.gz至soft文件夹,解压。
https://www.apache.org/dyn/closer.lua/hbase/2.4.4/hbase-2.4.4-bin.tar.gz
tar -zxvf hbase-2.4.4-bin.tar.gz
进入cd /soft/hbase-2.4.4 目录查看hbase的版本信息
./bin/hbase version
或 vi /etc/profile
添加环境变量
export PATH=$PATH:/soft/hbase-2.4.4/bin
刷新环境变量
source /etc/profile
2.修改配置文件hbase-env.sh
#配置jdk环境
export JAVA_HOME=/soft/jdk1.8.0_181
#配置使用自带的ZooKeeper
export HBASE_MANAGES_ZK=true
3.修改配置文件
<property>
<name>hbase.cluster.distributed</name>
<value>false</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>file:///root/hbase</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>./tmp</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
4.启动/停止hbase, 启动hbase后输入jps,显示HMaster,则成功。
./start-hbase.sh
./stop-hbase.sh
启动Hadoop—>启动HBase—>关闭HBase—>关闭Hadoop
5.进入hbase的shell命令
hbase shell
#创建表
create 'student','Sname','Ssex','Sage','Sdept','course'
查看表信息
describe 'student'
添加数据(HBase中用put命令添加数据,注意:一次只能为一个表的一行数据的一个列,也就是一个单元格添加一个数据,所以直接用shell命令插入数据效率很低,在实际应用中,一般都是利用编程操作数据)
put 'student','95001','Sname','LiYing'
删除数据
删除delete
删除所有deleteall
delete 'student','95001','Ssex'
删除表 (第一步先让该表不可用,第二步删除表)
disable 'student'
drop 'student'
查询数据
get 'student','95001' --查看表的某一行数据
scan 'student' --查看所有
退出hbase shell
exit
|