一、HBase简介

1.1 HBase定义

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

1.2 HBase数据模型

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

1.2.1 HBase逻辑结构

1.2.2 HBase 物理存储结构

1.2.3 数据模型

  • Name Space

命名空间,类似于关系型数据库的 DatabBase 概念,每个命名空间下有多个表。HBase 有两个自带的命名空间,分别是 hbase 和 default,hbase 中存放的是 HBase 内置的表, default 表是用户默认使用的命名空间。

  • Region

类似于关系型数据库的表概念。不同的是,HBase 定义表时只需要声明列族即可,不需 要声明具体的列。这意味着,往 HBase 写入数据时,字段可以动态、按需指定。因此,和关 系型数据库相比,HBase 能够轻松应对字段变更的场景。

  • Row

HBase 表中的每行数据都由一个 RowKey 和多个 Column(列)组成,数据是按照 RowKey 的字典顺序存储的,并且查询数据时只能根据 RowKey 进行检索,所以 RowKey 的设计十分重要。

  • Column

HBase 中的每个列都由 Column Family(列族)和 Column Qualifier(列限定符)进行限 定,例如 info:name,info:age。建表时,只需指明列族,而列限定符无需预先定义。

  • Time Stamp

用于标识数据的不同版本(version),每条数据写入时,如果不指定时间戳,系统会 自动为其加上该字段,其值为写入 HBase 的时间。

Cell
由{rowkey, column Family:column Qualifier, time Stamp} 唯一确定的单元。cell 中的数 据是没有类型的,全部是字节码形式存储。

1.3 HBase 基本架构


架构角色:

  • 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 提供高可用的支持。

二、HBase集群安装

2.1 HBase 安装部署

2.1.1 Zookeeper 正常部署

zookeeper集群需正常部署==>
启动zookeeper:

[xiaobai@hadoop102 zookeeper-3.4.10]$ bin/zkServer.sh start
[xiaobai@hadoop103 zookeeper-3.4.10]$ bin/zkServer.sh start
[xiaobai@hadoop104 zookeeper-3.4.10]$ bin/zkServer.sh start

2.1.2 Hadoop 正常部署

hadoop–集群配置/群起集群==>

hadoop启动:

[xiaobai@hadoop102 hadoop-2.7.2]$ sbin/start-dfs.sh [xiaobai@hadoop103 hadoop-2.7.2]$ sbin/start-yarn.sh

2.1.3 HBase安装目录

将HBase解压至/opt/module/目录:

(base) [xiaobai@hadoop102 hbase]$ tar -zxvf hbase-2.0.5-bin.tar.gz -C /opt/module/

2.1.4 HBase配置文件

修改Hbase对应的配置文件

  1. hbase-env.sh
(base) [xiaobai@hadoop102 conf]$ vim hbase-env.sh

  1. hbase-site.xml
(base) [xiaobai@hadoop102 conf]$ vim hbase-site.xml ```bash
<configuration><property><name>hbase.rootdir</name><value>hdfs://hadoop102:8020/hbase</value> </property><property> <name>hbase.cluster.distributed</name><value>true</value></property><property> <name>hbase.zookeeper.quorum</name><value>hadoop102,hadoop103,hadoop104</value></property>
</configuration>
  1. regionservers:
(base) [xiaobai@hadoop102 conf]$ vim regionservers
hadoop102
hadoop103
hadoop104
  1. 分发hbase:
(base) [xiaobai@hadoop102 conf]$ xsync /opt/module/hbase/
  1. 软连接 hadoop 配置文件到 HBase:
[xiaobai@hadoop102 module]$ ln -s /opt/module/hadoop-3.2.2/etc/hadoop/core-site.xml site.xml
[atguigu@hadoop102 module]$ 3.2.2/etc/hadoop/hdfs-site.xml site.xml

tips:在配置了HADDOP_HOME的时候,可以不用软连接!

  1. 启动hbase:

单节点启动,在哪个节点执行命令,哪个节点就是master!

(base) [xiaobai@hadoop102 hbase]$ bin/start-hbase.sh
(base) [xiaobai@hadoop102 hbase]$ jps
17056 QuorumPeerMain
20928 RunJar
67456 HRegionServer
16883 JobHistoryServer
16277 DataNode
16662 NodeManager
16126 NameNode
67103 HMaster
67582 Jps
[xiaobai@hadoop103 ~]$ jps
111509 NodeManager
116933 HRegionServer
10325 Kafka
111924 QuorumPeerMain
111371 ResourceManager
111151 DataNode
117038 Jps
[xiaobai@hadoop104 module]$ jps
86050 Jps
82260 NodeManager
82153 SecondaryNameNode
82440 QuorumPeerMain
85836 HRegionServer

停止:

(base) [xiaobai@hadoop102 hbase]$ bin/stop-hbase.sh

此命令若一直处于等待状态停止不了的话,就先停止master,再执行停止hbase命令即可:

(base) [xiaobai@hadoop102 hbase]$ hbase-daemon.sh stop master
(base) [xiaobai@hadoop102 hbase]$ stop-hbase.sh

注⚠️:
如果集群之间的节点时间不同步,会导致 regionserver 无法启动,抛出 ClockOutOfSyncException 异常。

更改时间同步
属性:hbase.master.maxclockskew 设置更大的值:

<property> <name>hbase.master.maxclockskew</name> <value>180000</value>
<description>Time difference of regionserver from master</description>
</property>
  1. 修改环境变量:
(base) [xiaobai@hadoop102 conf]$ cd /etc/profile.d/
(base) [xiaobai@hadoop102 profile.d]$ sudo vim my_env.sh

  1. source环境变量:
(base) [xiaobai@hadoop102 profile.d]$ source /etc/profile.d/my_env.sh

2.1.5 查看hbase页面

启动成功后,可以通过“host:port”的方式来访问 HBase 管理页面,例如: http://hadoop102:16010

大数据之HBase部署相关推荐

  1. 大数据技术Hbase 和 Hive 详解

    目录 两者的特点 各自的限制 应用场景 大数据技术Hbase 和 Hive 详解, 今天给大家介绍一下关于零基础学习大数据视频教程之HBASE 和 HIVE 是多么重要的技术,那么两者有什么区别呢 ? ...

  2. 开源大数据平台HBase对接OBS操作指南

    1      背景介绍 华为云对象存储服务可以与HBase大数据生态进行对接,为用户提供计算存储分离的大数据解决方案.该方案具备高性能.低成本的优势,且无扩容问题. 本操作指导书旨在帮助华为云用户在开 ...

  3. 大数据平台安装部署(适用虚拟机级真实服务器,亲测)

    大数据集群搭建 一.基础环境准备 (虚拟环境or服务器环境) 1. 虚拟环境准备(服务器安装跳过此步骤) 1.1 安装vmware 注意:安装centos8系统及以上需要高版本vmware,实测vmw ...

  4. 大数据查询——HBase读写设计与实践--转

    背景介绍 本项目主要解决 check 和 opinion2 张历史数据表(历史数据是指当业务发生过程中的完整中间流程和结果数据)的在线查询.原实现基于 Oracle 提供存储查询服务,随着数据量的不断 ...

  5. 大数据之HBase教程

    自1970年以来,关系数据库用于数据存储和维护有关问题的解决方案.大数据的出现后,好多公司实现处理大数据并从中受益,并开始选择像 Hadoop 的解决方案. Hadoop使用分布式文件系统,用于存储大 ...

  6. java大数据组件HBase

    什么是HBase: 是一个非关系型数据库(稀疏矩阵) 关系型数据库:有固定的列,每一列的数据类型明确 非结构化数据,半结构化数据. 存储的目标数据 数据量大 结构简单 基于key的快速查找能力 可以面 ...

  7. 遵化市10余个局委办一把手调研九次方大数据,详细部署数字遵化建设

    7月20日,遵化市人民政府市长董学忠.副市长王洪军率领市政府办.农业农村局.自然资源与规划局.交通运输局.商务和投资促进局.文化广电与旅游局.金融办.国资办.城投公司等10余个局.委.办一把手到九次方 ...

  8. 大数据hadoop环境部署

    大数据hadoop在linux环境下的部署安装,包括单节点模式.伪分布模式以及完全分布式模式

  9. [喵咪大数据]Hive+Hbase关联

    在之前的章节中我们已经一同学习的Hive和HBase相关的知识,但是Hive和HBase都存在各自的问题,Hive实时性不强单条写入数据慢,HBase查询能力差不具备复杂查询的能力,但是Hive和HB ...

最新文章

  1. asp+Access程序在Windows Server 2003 Enterprise Edition服务器上运行时无法显示备注字段的解决方法...
  2. 一起探讨NLP的边界和未来,学术界与工业界在“语言与智能高峰论坛”上擦出火花...
  3. Nacos配置中心原理
  4. 在sublime text3中利用markdown
  5. SpringCloud个人笔记-02-Feign初体验
  6. 高效、稳定开发功能的一些心得
  7. xp 4g内存补丁_32位操作系统导致电脑可用内存不足4G
  8. Tomcat的startup.bat启动闪退解决办法
  9. warning:1071 (42000) Specified key was too long;max key length is 1000 bytes
  10. 快速JQuery——(第一章)第一个JQuery
  11. python︱matplotlib使用(读入、显示、写出、opencv混用、格式转换...)
  12. Kotlin — 所有知识体系
  13. 047——VUE中css过渡动作实例
  14. Linux驱动开发: USB驱动开发
  15. java web在线购物_JAVAWEB网上商城购物系统
  16. 操作系统-3.假设某多道程序设计系统中有供用户使用的内存100KB,打印机1台。系统采用可变分区方式管理内存:对打印机采用静态分配,并假设输入输出操作的时间忽略不计;采用最短剩余时间优先的进程调度算法
  17. 细胞自动机_细胞自动机和音乐
  18. CodeForces 366C Dima and Salad
  19. 前端求职系列:如何写一份小程序简历(二)
  20. flutter video_thumbnail #获取视频封面

热门文章

  1. 七种寻址方式(32位地址的寻址方式)
  2. 浅析 Linux 初始化 init 系统,第 3 部分: Systemd
  3. USACO-Section1.4 Combination Lock (枚举)
  4. sso登陆劫持漏洞(单点登录劫持,低危)
  5. VS 多进程调试(C#和C )
  6. Python PIL(图像处理库)使用方法
  7. Gazebo仿真平台
  8. Effective C++ 读后感
  9. 浅入深出Vue:子组件与数据传递
  10. c# 轻量级ORM框架 实现(一)