HBase(一) —— 基本概念及使用
一、安装&启动
下载
https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/2.1.8/
快速开始文档,HBase2.1.8
http://hbase.apache.org/2.1/book.html
配置hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///usr/local/data/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/data/zookeeper/data/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>127.0.0.1:2181</value>
</property>
</configuration>
配置hbase-env.sh
export HBASE_MANAGES_ZK=false
启动
./hbase shell
基本操作
进入控制台
hbase shell
报错
ERROR: KeeperErrorCode = NoNode for /hbase/master
list 显示数据库表
Describe 表名
Scan 表名 查看数据
Disable 表名 表设置成不可用
drop 表名
简介
分布式、可扩展、海量数据存储的NoSQL数据库
存十几、几十亿数据
谷歌论文的3驾马车,mapreduce 、hdfs、bigtable,对应Hadoop、HBase
官方文档
参考文档
数据模型
name space :相当于mysql中的database
habse自带的命名空间:hbase、default
region,表的切片,类似mysql中的表的概念。
row:每行数据都有一个rowkey和多个列组成。
column:列由列族、列限定符组成
时间戳:标识数据的不同版本
cell:rowKey、column Family、column qualifier、timestamp,具有唯一确定性。
逻辑结构
数据模式和关系型数据库挺像,底层物理存储结构是K-V,像一个多维度的map
列、列族、rowKey(行键)
Region是一张表的横向切片。
物理存储结构
物理存储时,会将一行信息拆分成多行,每一行包含rowKey、列族名称、列名称、时间戳、操作类型,value。
当删除数据时,会插入一觉记录,操作类型是DEL,当DEL的时间戳> PUT的时间戳的时候,该条记录不会返回。
不同版本的数据,根据timestamp
进行区分
HBase 基本架构
修改就是PUT,因为通过时间戳进行比较。
region,切分、合并操作。
列式存储
问题解决
KeeperErrorCode = NoNode for /hbase/master
应该是HBase没有启动成功,查看日志,如果是Zk的原因,可能是端口占用,或者是因为HBase有自带的Zk,和自己单独安装的Zk冲突了。
参考上面的hbase-env.sh和hbase-site.xml的配置,这里用的就是让HBase使用我们自己安装的Zk。
参考文档
关于作者
后端程序员,五年开发经验,从事互联网金融方向。技术公众号「清泉白石」。如果您在阅读文章时有什么疑问或者发现文章的错误,欢迎在公众号里给我留言。