HBase基础知识

HBase 是一个面向列式存储的分布式数据库,HBase 底层存储基于 HDFS 实现,集群的管理基于 ZooKeeper 实现。

HBase的架构

在这里插入图片描述
HBase组件角色:

  • HMaster

功能:

1.监控 RegionServer

2.处理 RegionServer 故障转移

3.处理元数据的变更

4.处理region 的分配或移除

5.在空闲时间进行数据的负载均衡

6.通过 Zookeeper 发布自己的位置给客户端

  • HRegionServer

功能:

1.负责存储 HBase 的实际数据

2.处理分配给它的 Region

3.刷新缓存到 HDFS

4.维护WAL

5.执行压缩

6.负责处理 Region 分片

  • HFile
    这是在磁盘上保存原始数据的实际的物理文件,是实际的存储文件。

  • Store
    ​ HFile 存储在 Store 中,一个 Store 对应 HBase 表中的一个Column Family列族(列簇)。

  • MemStore
    顾名思义,就是内存存储,位于内存中,用来保存当前的数据操作,所以当数据保存在 WAL中之后,RegsionServer 会在内存中存储键值对。

    HBase部署与启动

(1)下载、解压缩,在/etc/profile全局配置文件中添加

export HBASE_HOME=/export/servers/hbase-2.4.5
export PATH=$PATH:$HBASE_HOME/bin

(2)配置hbase-env.sh

export JAVA_HOME=/export/servers/jdk1.8.0_161
export HBASE_MANAGES_ZK=false  # 使用外部的ZooKeeper

(3)配置hbase-site.xml

<configuration>
  <!-- hbase数据存放的目录,若用本地目录,必须带上file://,否则hbase启动不起来 -->
        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://my2308-host:9000/hbase</value>
        </property>

        <!-- zk的位置 -->
        <property>
                <name>hbase.zookeeper.quorum</name>
                <value>localhost</value>
                <description>my2308-host:2181</description>
        </property>

<!--hbase.cluster.distributed表示是否分布式部署,指定为true-->
        <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>

        <!-- hbase主节点的位置 -->
        <property>
                <name>hbase.master</name>
                <value>my2308-host:60000</value>
        </property>
</configuration>

(3)拷贝zookeeper的conf/zoo.cfg到hbase的conf/下

(4)启动HBase

​ 执行start-hbase.sh脚本

注意:为了方便启动,可在/etc/profile中添加环境变量

export HBASE_HOME=/export/servers/hbase-2.4.5
export PATH=$PATH:$HBASE_HOME/bin

HBase表结构

• 表:HBase采用表来组织数据,表由行和列组成,列划分为若干个列族
• 行:每个HBase表都由若干行组成,每个行由行键(row key)来标识。
• 列族:一个HBase表被分组成许多“列族”(Column Family)的集合,它是基本的访问控制单元
• 列限定符:列族里的数据通过列限定符(或列)来定位
单元格:在HBase表中,通过行、列族和列限定符确定一个“单元格”(cell),单元格中存储的数据没有数据类型,总被视为字节数组byte[]
时间戳:每个单元格都保存着同一份数据的多个版本,这些版本采用时间戳进行索引
在这里插入图片描述

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值