欢迎投稿

今日深度:

Hbase,

Hbase,


HBASE是一个数据库----可以提供数据的实时随机读写

HBASE与mysql、oralce、db2等关系型数据库不同,它是一个NOSQL数据库

HBASE相比于其他nosql数据库的特点:

Hbase的表数据存储在HDFS文件系统中

从而,hbase具备如下特性:存储容量可以线性扩展; 数据存储的安全性可靠性极高!

HBASE是一个分布式系统

其中有一个管理角色:  HMaster(一般2台,一台active,一台backup)

其他的数据节点角色:  HRegionServer(很多台,看数据容量)

安装准备:

首先,要有一个HDFS集群,并正常运行; regionserver应该跟hdfs中的datanode在一起

其次,还需要一个zookeeper集群,并正常运行

然后,安装HBASE

角色分配如下:

Hdp01:  namenode  datanode  regionserver  hmaster  zookeeper

Hdp02:  datanode   regionserver  zookeeper

Hdp03:  datanode   regionserver  zookeeper

 

安装HBase:

解压hbase安装包

1.修改hbase-env.sh
export JAVA_HOME=/root/apps/jdk1.7.0_67
export HBASE_MANAGES_ZK=false


2修改hbase-site.xml
<configuration>
		<!-- 指定hbase在HDFS上存储的路径 -->
        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://hdp01:9000/hbase</value>
        </property>
		<!-- 指定hbase是分布式的 -->
        <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
		<!-- 指定zk的地址,多个用“,”分割 -->
        <property>
                <name>hbase.zookeeper.quorum</name>
                <value>hdp01:2181,hdp02:2181,hdp03:2181</value>
        </property>
	</configuration>

3.修改 regionservers
hdp01
hdp02
hdp03

集群启动:

bin/start-hbase.sh

启动完后,还可以在集群中找任意一台机器启动一个备用的master
bin/hbase-daemon.sh start master
新启的这个master会处于backup状态

HBase表模型: 

 

1、一个表,有表名
2、一个表可以分为多个列族(不同列族的数据会存储在不同文件中)
3、表中的每一行有一个“行键rowkey”,而且行键在表中不能重复
4、表中的每一对kv数据称作一个cell
5、hbase可以对数据存储多个历史版本(历史版本数量可配置)
6、整张表由于数据量过大,会被横向切分成若干个region(用rowkey范围标识),不同region的数据也存储在不同文件中

7、hbase会对插入的数据按顺序存储:
要点一:首先会按行键排序
要点二:同一行里面的kv会按列族排序,再按k排序

 核心机制

新API:https://blog.csdn.net/qq_43020538/article/details/86601321 

www.htsjk.Com true http://www.htsjk.com/hbase/37542.html NewsArticle Hbase, HBASE是一个数据库----可以提供数据的实时随机读写 HBASE与mysql、oralce、db2等关系型数据库不同,它是一个NOSQL数据库 HBASE相比于其他nosql数据库的特点: Hbase的表数据存储在HDFS文件...
相关文章
    暂无相关文章
评论暂时关闭