Hbase 2.4.8 安装部署过程

一、HBase 简介

1.1 定义

        HBase 是一种分布式、可扩展、支持海量数据存储的 NoSQL 数据库。

1.2 数据模型

        逻辑上,HBase的数据模型同关系型数据库很类似,数据存储在一张表中,有行有列。但从 HBase 的底层物理存储结构(K-V)来看,HBase更像是一个 multi-dimensional map。 

(1)逻辑结构

(2) 物理存储结构

 (3)数据模型

    1)Name Space 
        命名空间,类似于关系型数据库的DatabBase 概念,每个命名空间下有多个表。HBase有两个自带的命名空间,分别是hbase和default,hbase中存放的是HBase内置的表,default表是用户默认使用的命名空间。
    2)Region 
        类似于关系型数据库的表概念。不同的是,HBase定义表时只需要声明列族即可,不需要声明具体的列。这意味着,往HBase写入数据时,字段可以动态、按需指定。因此,和关系型数据库相比,HBase能够轻松应对字段变更的场景。
    3)Row HBase 
        表中的每行数据都由一个RowKey和多个Column(列)组成,数据是按照RowKey的字典顺序存储的,并且查询数据时只能根据RowKey进行检索,所以RowKey的设计十分重要。
    4)Column 
        HBase中的每个列都由Column Family(列族)和Column Qualifier(列限定符)进行限定,例如info:name,info:age。建表时,只需指明列族,而列限定符无需预先定义。
    5)Time Stamp 
        用于标识数据的不同版本(version),每条数据写入时,如果不指定时间戳,系统会自动为其加上该字段,其值为写入HBase 的时间。
    6)Cell 
        由{rowkey, column Family:column Qualifier, time Stamp} 唯一确定的单元。cell中的数据是没有类型的,全部是字节码形式存贮。

1.3 基本架构

(1)简单架构图

     1)Region Server 
        Region Server 为 Region 的管理者,其实现类为 HRegionServer,主要作用如下:
        对于数据的操作:get, put, delete;
        对于 Region 的操作:splitRegion、compactRegion。 
     2)Master 
        Master 是所有 Region Server 的管理者,其实现类为 HMaster,主要作用如下:
        对于表的操作:create, delete, alter
        对于 RegionServer的操作:分配 regions到每个RegionServer,监控每个 RegionServer的状态,负载均衡和故障转移。
     3)Zookeeper 
        HBase 通过 Zookeeper 来做 Master 的高可用、RegionServer 的监控、元数据的入口以及集群配置的维护等工作。
     4)HDFS 
        HDFS 为 HBase 提供最终的底层数据存储服务,同时为 HBase 提供高可用的支持。

(2)详细架构图

    1)StoreFile 
        保存实际数据的物理文件,StoreFile以HFile的形式存储在HDFS上。每个Store会有一个或多个StoreFile(HFile),数据在每个 StoreFile 中都是有序的。
    2)MemStore 
        写缓存,由于 HFile 中的数据要求是有序的,所以数据是先存储在MemStore中,排好序后,等到达刷写时机才会刷写到HFile,每次刷写都会形成一个新的 HFile。 
    3)WAL 
        由于数据要经 MemStore排序后才能刷写到HFile,但把数据保存在内存中会有很高的概率导致数据丢失,为了解决这个问题,数据会先写在一个叫做Write-Aheadlogfile的文件中,然后再写入MemStore中。所以在系统出现故障的时候,数据可以通过这个日志文件重建。 

二、HBase 安装部署

2.1 Zookeeper 正常部署

如果没有部署可以查看:Zookeeper 3.7.0 安装部署_我思,顾我在-CSDN博客

2.2 Hadoop 正常部署 

如果没有部署可以查看:Hadoop 3.3.1 分布式部署_我思,顾我在-CSDN博客

2.3 Hbase 解压到指定目录

[hadoop@ggl201 software]$ sudo tar -zxvf hbase-2.4.8-bin.tar.gz -C /opt/module/

 2.4 HBase 的配置文件

(1)hbase-env.sh 修改内容:

[hadoop@ggl201 conf]$ vim hbase-env.sh


export JAVA_HOME=/opt/module/jdk1.8.0_201
export HBASE_MANAGES_ZK=false

(2)hbase-site.xml 修改内容:

<configuration>
	<property>
		<name>hbase.rootdir</name>
		<value>hdfs://ggl201:8020/HBase</value>
	</property>
	<property>
		<name>hbase.cluster.distributed</name>
		<value>true</value>
	</property>
	 <!-- 0.98 后的新变动,之前版本没有.port,默认端口为 60000 -->
	<property>
		<name>hbase.master.port</name>
		<value>16000</value>
	</property>
	<property> 
		<name>hbase.zookeeper.quorum</name>
		<value>ggl201,ggl202,ggl203</value>
	</property>
	<property> 
		<name>hbase.zookeeper.property.dataDir</name>
		<value>/opt/module/zookeeper-3.7.0/zkData</value>
	</property>
</configuration>

(3)regionservers

ggl201
ggl202
ggl203

(4)软连接 hadoop 配置文件到 HBase:

[hadoop@ggl201 conf]$  ln -s /opt/module/hadoop-3.3.1/etc/hadoop/core-site.xml /opt/module/hbase-2.4.8/conf/core-site.xml
[hadoop@ggl201 conf]$ ln -s /opt/module/hadoop-3.3.1/etc/hadoop/hdfs-site.xml /opt/module/hbase-2.4.8/conf/hdfs-site.xml

2.5 HBase 分发

[hadoop@ggl201 module]$ sudo xsync hbase-2.4.8/

2.6 HBase启动

(1)启动方式一

[hadoop@ggl201 hbase-2.4.8]$  bin/hbase-daemon.sh start master
[hadoop@ggl201 hbase-2.4.8]$  bin/hbase-daemon.sh start regionserver
提示: 如果集群之间的节点时间不同步,会导致 regionserver 无法启动,抛出ClockOutOfSyncException 异常。
1)同步时间设置
时间同步方式:https://blog.csdn.net/qq_37056683/article/details/121099742 (在文章内容的最下面)
2)在hbase-site.xml文件中设置 hbase.master.maxclockskew
<property>
 <name>hbase.master.maxclockskew</name>
 <value>180000</value>
 <description>Time difference of regionserver from master</description>
</property>

(2)启动方式二

[hadoop@ggl201 hbase-2.4.8]$  bin/start-hbase.sh


#对应的停止命令
[hadoop@ggl201 hbase-2.4.8]$  bin/stop-hbase.sh

2.7 HBase 页面查看

               

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值