iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Hbase体系结构理解
  • 695
分享到

Hbase体系结构理解

2024-04-02 19:04:59 695人浏览 八月长安
摘要

1. Hbase的集群架构    首先HBase是hadoop的一个组件.而hadoop内部有很多的组件,这些组件几乎都依赖于hadoop最核心的两个东西建立起来的,一个是hdfs文件系

1. Hbase的集群架构

    首先HBasehadoop的一个组件.而hadoop内部有很多的组件,这些组件几乎都依赖于hadoop最核心的两个东西建立起来的,一个是hdfs文件系统,另一个是mapReduce。当然hbase也不例外。

    hbase其实就是一个非关系型的数据库系统,可以将他和关系型数据库Mysql类比一下,可能会便于

理解。


Hbase体系结构理解                                                                                                (此图引用于百度百科)

    Hbase有3种搭建方式:本地模式,伪分布模式和集群模式。那么一般情况下,我们便于学习Hbase的各种特性,只需要搭建伪分布模式即可。伪分布模式和集群模式的区别就是,hbase这个系统的所有守护进程全部运行在一个物理节点上和真正的分布在不同的物理节点之上。

    那么不论是伪分布和集群模式。其集群都包含几个主要的守护进程:HMaster,HRegionserver,ZooKeeper,以及client。那么我们通过命令行或者Javaapi或其他方式来使用Hbase时,都是通过client向hbase发送命令的。

    简单理解一下各个守护进程的作用:HMaster并不像hdfs中的Namenode那样,维护了整个系统的元数据,负责与client交互以实现对分节点的管理控制等全部统筹功能。Hmaster不负责与client有太多的交互,大部分情况下是由zookeeper来与client通信,然后实现对hbase的使用和管理。同时元数据也是由zookeeper来维护的,包括各个regionserver的地址等等。

    下面是一个简单的总结这两者各自的分工:

  • Zookeeper

    保证任何时候,集群中只有一个running master

    存贮所有Region 的寻址入口

    实时监控Region Server 的状态,将Region server 的上线和下线信息,实时通知给Master

    存储Hbase 的schema,包括有哪些table,每个table 有哪些column family

  • Master可以启动多个HMaster,通过Zookeeper的Master Election机制保证总有一个Master运行

    为Region server 分配region

    负责region server 的负载均衡

    发现失效的region server 并重新分配其上的region

2. Hbase的存储方式和结构

    要讲Hbase的存储方式,我们从两方面来描述,一个是逻辑存储方式和物理的存储方式。(比如mysql中的二维关系表就是关系型数据库的逻辑存储结构,而这些表在硬盘上实际的存储形式便是所谓的物理存储方式)。

     Hbase的逻辑存储方式:

     Hbase体系结构理解    表是稀疏表,所以可以类别mysql的关系表来理解,但是实际上并不是一回事。首先表有行健,列簇,列名,时间簇等几个概念。一个表定义之初,应该给出其表名,列簇信息。一行中,有多个固定的列簇,每个列簇下在插入数据时可以设置任意的列名。由一个行健,一个列簇+列名可以标定一个表中的单元格,而一个单元格中有由时间戳区分不同版本的值。表中的所有信息实际上都是以二进制形式存储的。不像关系表中支持那么多的数据类型。所以如果要用各种数据类型,只能由自己在程序中进行维护。

   Hbase的物理存储方式:

   Hbase的数据其实是由Hmaster进行配置,实际上存在各个Hregionserver中的。一个稀疏表是按行健进行排序和存储。这些表会按行被拆分为多个region存储道不同的regionserver中,一个regionserver中可以存储多region。这些region对应了表中的不同部分的行,而这些行实际也被划分为不同的文件存储,划分方式即是列簇,一个列簇一个文件,所以称之为面向列的数据库。那么这些文件实际上是放在hdfs里的,也就是以block的形式存储在硬盘上的。

   那么表是按rowkey的字典顺序来存储的,简单来说,就是对于rowkey,从左到右,译成ascii码来比大小排序。所以呢由于这个原因,在设计rowkey时,最好不要直接把时间戳这样的数据直接作为rowkey,因为这样会导致新产生的数据由于其时间戳都在一个范围内,导致存储的时候全部拥挤到某一个regionserver中。一般可以在时间戳前面加上散列值,设计成:(散列值:时间戳)这样的形式

    





您可能感兴趣的文档:

--结束END--

本文标题: Hbase体系结构理解

本文链接: https://www.lsjlt.com/news/41508.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ADO.NET体系结构怎么理解
    本篇内容主要讲解“ADO.NET体系结构怎么理解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ADO.NET体系结构怎么理解”吧!由于XML的数据可以通过中间层代理与多种后端(数据库)源集成,所...
    99+
    2023-06-17
  • 怎么理解Oracle体系结构
    本篇内容介绍了“怎么理解Oracle体系结构”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. ...
    99+
    2024-04-02
  • 如何理解J2ME体系结构
    今天就跟大家聊聊有关如何理解J2ME体系结构,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。你对J2ME体系结构是否了解,这里和大家分享一下,J2ME...
    99+
    2024-04-02
  • LINQ体系结构怎么理解
    这篇文章主要介绍“LINQ体系结构怎么理解”,在日常操作中,相信很多人在LINQ体系结构怎么理解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”LINQ体系结构怎么理解”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-17
  • 【体系结构】共享SQL的理解
    1.  共享 SQL 作用 SQL 在共享之后,就可以减少硬解析,硬解析会消耗很多资源。 2.  共享 SQL 概念 共...
    99+
    2024-04-02
  • 如何理解Oracle 11g体系结构
    这篇文章给大家介绍如何理解Oracle 11g体系结构,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 Oracle 11g体系结构:oracle运行原理:...
    99+
    2024-04-02
  • 怎么理解sql体系结构shared pool
    这篇文章主要介绍“怎么理解sql体系结构shared pool”,在日常操作中,相信很多人在怎么理解sql体系结构shared pool问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2024-04-02
  • MySQL体系结构图详解
    体系结构图如下: 连接层 思想 为解决资源的频繁分配﹑释放所造成的问题,为数据库连接建立一个“缓冲池”。 原理 预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使...
    99+
    2024-04-02
  • mysql体系结构
    一.MySQL分层架构 1.链接层 处理网络的链接,链接的网络认证。 - 查看链接权限 点击(此处)折叠或打开 ...
    99+
    2024-04-02
  • 如何解析ADO.NET体系结构
    这期内容当中小编将会给大家带来有关如何解析ADO.NET体系结构,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。ADO.NET体系结构有很多值得学习的地方,这里我们主要介绍ADO.NET体系结构,在向大家详...
    99+
    2023-06-17
  • 如何解析vRouter体系结构
    今天就跟大家聊聊有关如何解析vRouter体系结构,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。先来看一张Tungsten Fabric vRouter功能组件的概念视图。vRout...
    99+
    2023-06-03
  • HBase整体架构是什么
    小编给大家分享一下HBase整体架构是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!HBase 系统架构图组成部件说明   Client: ...
    99+
    2023-06-03
  • Oracle体系结构分析
    这篇文章主要讲解了“Oracle体系结构分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle体系结构分析”吧! 一、什么是Oracle数...
    99+
    2024-04-02
  • C语言 - 结构体、结构体数组、结构体指针和结构体嵌套
    结构体的意义 问题:学籍管理需要每个学生的下列数据:学号、姓名、性别、年龄、分数,请用 C 语言程序存储并处理一组学生的学籍。 单个学生学籍的数据结构: 学号(num): int 型姓名(name) :char [ ] 型性别(sex):c...
    99+
    2023-08-30
    c语言 开发语言
  • Oracle的体系结构和物理、逻辑存储结构介绍
    本篇内容主要讲解“Oracle的体系结构和物理、逻辑存储结构介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle的体系结构和物理、逻辑存储结构介绍”吧...
    99+
    2024-04-02
  • 怎样深度解析Lustre体系结构
    这期内容当中小编将会给大家带来有关怎样深度解析Lustre体系结构,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。  Lustre架构是一种集群存储体系结构,其核心组件就是Lustre文件系统。该文件系统可...
    99+
    2023-06-04
  • C++结构体详解
    目录一、结构体的定义二、创建具体的变量(3种)三、结构体数组四、结构体指针五、结构体嵌套结构体六、结构体做函数参数1、值传递2、地址传递七、结构体中const使用场景总结一、结构体的...
    99+
    2024-04-02
  • RustStruct结构体详解
    目录Defining and Instanting 定义与实例化Derived Traits派生traitMethod 方法自动引用与解引用Defining and Instanti...
    99+
    2022-11-13
    Rust Struct Rust Struct结构体
  • 怎样解析mysql与oracle 体系结构
    这篇文章给大家介绍怎样解析mysql与oracle 体系结构,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 做为一个学习oracle的工程师,现在开始学...
    99+
    2024-04-02
  • 深入Linux PAM体系结构
    一、什么是Linux-PAM 为安全起见,计算机系统只有经过授权的合法用户才能访问,在这里如何正确鉴别用户的真实身份是一个关键的问题。所谓用户鉴别,就是用户向系统以一种安全的方式提交自己的身份证明,然后由系统确认用户的身份是否属实...
    99+
    2023-06-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作