一 .基础整理
-
服务器本身不存储数据,数据本身放在HDFS中的,服务器只做功能的进行查,删改等功能
-
Hive hbase mysql 区别
-
服务器本身不存储数据,数据本身放在HDFS中的,服务器只做功能的进行查,删改等功能
-
Hbase特性
-
16010 对外访问端口
-
HBASE是一个数据库----可以提供数据的实时随机读写
-
Hbase:
- hadoop数据库,分布式可伸缩大型数据存储。
- 用户对随机、实时读写数据。
- 十亿行 x 百万列。
- 版本化、非关系型数据库。
-
hbase存储机制:面向列存储,table是按row排序。
-
Hbase的表没有固定的字段定义
- Hbase的表中每行存储的都是一些key-value对
- Hbase的表在物理存储上,是按照列族来分割的,不同列族的数据一定存储在不同的文件中
- Hbase的表中的每一行都固定有一个行键,而且每一行的行键在表中不能重复
- Hbase中的数据,包含行键,包含key,包含value,都是byte[ ]类型,hbase不负责为用户维护数据类型
- HBASE对事务的支持很差
-
特征:
- Hbase的表数据存储在HDFS文件系统中
- 存储容量可以线性扩展
- 数据存储的安全性可靠性极高
- 对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏。
- 主要用来存储结构化和半结构化的松散数据
- Hbase查询数据功能很简单,不支持join等复杂操作,不支持复杂的事务(行级的事务)
- 与hadoop一样,Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。
-
访问hbase table中的行,只有三种方式:
- 通过单个row key访问
- 通过row key的range
- 全表扫描
二 .集群搭建(完全分布式)
- 主机安装
- JDK 安装
- hadoop安装
- 环境变量
- 验证:hbase version
- [hbase/conf/hbase-env.sh]
export JAVA_HOME=/soft/jdk
export HBASE_MANAGES_ZK=false - [hbse-site.xml]
hbase.cluster.distributed
true
hbase.rootdir
hdfs://s201:8020/hbase
hbase.zookeeper.quorum
s201:2181,s202:2181,s203:2181
hbase.zookeeper.property.dataDir
/home/centos/zookeeper
- [hbase/conf/