目录
- HBase简介
- hbase数据模型
- hbase基本架构
- hbase安装
- 环境依赖
- 修改配置文件
HBase简介
hbase是高可靠性、高性能、面行列、可伸缩、实时读写的NoSql分布式数据库。
hbase主要存储非结构化/半结构化的松散数据
hbase数据模型
1.NameSpace
命名空间,每个命名空间下有多个表。hbase自带两个命名空间,分别为hbase与default。hbase中存放的是hbase内置的表,default表是用户默认使用的命名空间。
2. Region
hbase自动把表水平划分成多个区域,每个Region会保存每个表中某一段连续的数据。每张表开始只有一个Region,随着数据不断插入表,当增加阈值时,Region就会分成两个新的region。
- Region是hbase中分布式存储和负载均衡的最小单元,不同的Region分布在不同的RegionServer上。
- Region有一个或多个store组成,每个store对应一个列簇。
3.RowKey
hbase中的数据都是由一个rowkey与多个column组成的。数据是按照rowkey字典升序
。最大长度是64KB,实际应用中长度一般为 10 ~ 100bytes。
4. Column
在建表时,必须要指定一个列簇,一个列簇对应一个store。
5.时间戳
数据写入时,会自动指定时间戳,时间戳按照自然降序
。
6. Cell
Cell 是由 {row key,column(=< family> + < label>),version} 唯一确定的 单元。Cell种的数据是没有类型的,全部是字节码形式存储。
hbase基本架构
- Master:
- 为regionserver分配region。
- 负责RegionServer的负载均衡。
- 发现失效的RegionServer并分配其上的Region。
- 管理用户对表的增删改操作。
- RegionServer
- 维护Region,处理对这些Region的IO请求。
- 负责切分在运行中变得过大的Region
- zookeeper
- hbase通过zookeeper来做master的高可用、存储元数据。
- HDFS
- 为hbase提供了最底层的存储服务。hbase以Hfile的形式存储在hdfs上。
hbase安装
环境依赖
1.启动hadoop
start-all.sh
2.启动zookeeper需要在在三台中分别启动
zkServer.sh start
zkServer.sh status
3.上传解压配置环境变量(默认安装目录/usr/local/soft)
tar -xvf hbase-1.4.6-bin.tar.gz
修改配置文件
4.修改hbase-env.sh文件
增加java配置
export JAVA_HOME=/usr/local/soft/jdk1.8.0_171
关闭默认zk配置
export HBASE_MANAGES_ZK=false
5.修改hbase-site.xml文件
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>node1,node2,master</value>
</property>
6.修改regionservers文件
增加
node1
node2
如果是伪分布式版本,增加master即可
7.同步到所有节点(如果是伪分布式不需要同步)
scp -r hbase-1.4.6/ node1:`pwd`
scp -r hbase-1.4.6/ node2:`pwd`
8.配置环境变量
vim /etc/profile
9.启动hbase集群 , 需要在master上执行
start-hbase.sh
10.验证hbase
http://master:16010