千赢娱乐手机登录_ qy8com千赢手机版_千赢网页手机版
做最好的网站

千赢娱乐手机登录

当前位置:千赢娱乐手机登录 > 千赢娱乐手机登录 > 深切通晓HBase架构原理,Hadoop官方文书档案翻译

深切通晓HBase架构原理,Hadoop官方文书档案翻译

来源:http://www.modeLspro.net 作者:千赢娱乐手机登录 时间:2019-08-03 08:43

HBase定义

        HBase 是一个高可靠、高性能、面向列、可伸缩的分布式存储系统,利用Hbase技术可在廉价PC Server上搭建 大规模结构化存储集群。

    HBase 是Google Bigtable 的开源实现,与Google Bigtable 利用GFS作为其文件存储系统类似, HBase 利用Hadoop HDFS 作为其文件存储系统;Google 运行MapReduce 来处理Bigtable中的海量数据, HBase 同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable 利用Chubby作为协同服务, HBase 利用Zookeeper作为对应。

ResourceManager High Availability (RM高可用)

    • Introduction(简介)
    • Architecture(架构)
      • RM Failover(RM 故障切换)
      • Recovering prevous active-RM’s state(恢复之前活动的RM的状态)
    • Deployment(部署)

      • Configurations(配置)
      • Admin commands(管理命令)
      • ResourceManager Web UI services(RM Web UI服务)
      • Web Services(Web 服务)

这里介绍一下如何用虚拟机构建一台服务器,我是用的VMware,用VirtualBox基本也差不多,除了端口映射那里不太一样。因为每次学新东西配置实验环境都是个麻烦事(其实也没那么麻烦),主要是当自己的电脑装了一堆环境,一堆IDE后,总会变得臃肿不堪,而且经常遇到莫名其妙的问题,解决麻烦,还容易造成系统的不稳定。而且每换一台电脑,所有的东西需要重新配置。

HBase 的特点

        HBase 中的表一般有以下特点。

        1)大:一个表可以有上亿行,上百万列。

        2)面向列:面向列表(簇)的存储和权限控制,列(簇)独立检索。

        3)稀疏:对于为空(NULL)的列,并不占用存储空间,因此,表可以设计的非常稀疏。

Introduction

This guide provides an overview of High Availability of YARN’s ResourceManager, and details how to configure and use this feature. The ResourceManager (RM) is responsible for tracking the resources in a cluster, and scheduling applications (e.g., MapReduce jobs). Prior to Hadoop 2.4, the ResourceManager is the single point of failure in a YARN cluster. The High Availability feature adds redundancy in the form of an Active/Standby ResourceManager pair to remove this otherwise single point of failure.

这个知道提供YARN的ResourceManager的高可用综述,和如何配置和使用这个特性的细节。RM负责跟踪集群中的资源和调度应用(例如 MapReduce作业)。在Hadoop2.4之前,RM是YARN集群中的一个单点故障。这个高可用特性以活动/备用 RM对的形式增加了冗余来移除这个潜在的单点故障。

所以我一直在想有一台专属的实验服务器就好了(可是对于学生来说还是贵啊),我可以在上面装我的专属实验环境,并且不用担心污染我的本地电脑,而且重装系统,或者在不同电脑上也能快速的恢复实验环境!

HBase 访问接口

        HBase 支持很多种访问,访问HBase的常见接口如下。

        1、Native Java API,最常规和高效的访问方式,适合Hadoop MapReduce Job并行批处理HBase表数据。

        2、HBase Shell,HBase的命令行工具,最简单的接口,适合HBase管理使用。

        3、Thrift Gateway,利用Thrift序列化技术,支持C ,PHP,Python等多种语言,适合其他异构系统在线访问HBase表数据。

        4、REST Gateway,支持REST 风格的Http API访问HBase, 解除了语言限制。

        5、Pig,可以使用Pig Latin流式编程语言来操作HBase中的数据,和Hive类似,本质最终也是编译成MapReduce Job来处理HBase表数据,适合做数据统计。

        6、Hive,当前Hive的Release版本尚没有加入对HBase的支持,但在下一个版本Hive 0.7.0中将会支持HBase,可以使用类似SQL语言来访问HBase。

Architecture(架构)

所以我就想能不能用虚拟机做一台专属的实验服务器,后来发现是可行的,并且装了server版的虚拟机基本不怎么吃资源。

HBase 存储结构

        从HBase的架构图上可以看出,HBase中的存储包括HMaster、HRegionServer、HRegion、Store、MemStore、StoreFile、HFile、HLog等,本课程统一介绍他们的作用即存储结构。 以下是 HBase 存储架构图:

图片 1

        HBase中的每张表都通过行键按照一定的范围被分割成多个子表(HRegion),默认一个HRegion超过256M就要被分割成两个,这个过程由HRegionServer管理,而HRegion的分配由HMaster管理。

HMaster

        1、 为Region server分配region。

        2、 负责Region server的负载均衡。

        3、发现失效的Region server并重新分配其上的region。

        4、 HDFS上的垃圾文件回收。

        5、 处理schema更新请求。

HRegionServer

        1、 维护master分配给他的region,处理对这些region的io请求。

        2、 负责切分正在运行过程中变的过大的region。

        可以看到,client访问hbase上的数据并不需要master参与(寻址访问zookeeper和region server,数据读写访问region server),master仅仅维护table和region的元数据信息(table的元数据信息保存在zookeeper上),负载很低。 HRegionServer存取一个子表时,会创建一个HRegion对象,然后对表的每个列族创建一个Store实例,每个Store都会有一个MemStore和0个或多个StoreFile与之对应,每个StoreFile都会对应一个HFile, HFile就是实际的存储文件。因此,一个HRegion有多少个列族就有多少个Store。 一个HRegionServer会有多个HRegion和一个HLog。

RM Failover(RM故障切换)

ResourceManager HA is realized through an Active/Standby architecture - at any point of time, one of the RMs is Active, and one or more RMs are in Standby mode waiting to take over should anything happen to the Active. The trigger to transition-to-active comes from either the admin (through CLI) or through the integrated failover-controller when automatic-failover is enabled.

RM的高可用特性通过任何时间点的主/备架构来实现的,一个RM作为活动,而其他RMs进入备用模式随时等待接管出事的活动的RM。备用转活跃的触发可以通过管理员用命令行或者通过集成的故障切换控制器配置允许自动故障切换。

安装VMware虚拟机

首先安装一个虚拟机,这里网上大量教材就不提供了,可以看看Linux公社的的相关位置,这里我是用的Ubuntu-server,注意安装的时候,最后选择安装包的时候,把openssh带上。或者安装完后通过命令安装

sudo apt-get install openssh-server

安装完通过查看,如果有sshd说明安装成功

图片 2

HRegion

        table在行的方向上分隔为多个Region。Region是HBase中分布式存储和负载均衡的最小单元,即不同的region可以分别在不同的Region Server上,但同一个Region是不会拆分到多个server上。

        Region按大小分隔,每个表一般是只有一个region。随着数据不断插入表,region不断增大,当region的某个列族达到一个阈值(默认256M)时就会分成两个新的region。

        每个region由以下信息标识:

        1、< 表名,startRowkey,创建时间>

        2、由目录表(-ROOT-和.META.)记录该region的endRowkey

        HRegion定位:Region被分配给哪个Region Server是完全动态的,所以需要机制来定位Region具体在哪个region server。

        HBase使用三层结构来定位region:

        1、 通过zk里的文件/hbase/rs得到-ROOT-表的位置。-ROOT-表只有一个region。

        2、通过-ROOT-表查找.META.表的第一个表中相应的region的位置。其实-ROOT-表是.META.表的第一个region;.META.表中的每一个region在-ROOT-表中都是一行记录。

        3、通过.META.表找到所要的用户表region的位置。用户表中的每个region在.META.表中都是一行记录。

        -ROOT-表永远不会被分隔为多个region,保证了最多需要三次跳转,就能定位到任意的region。client会将查询的位置信息保存缓存起来,缓存不会主动失效,因此如果client上的缓存全部失效,则需要进行6次网络来回,才能定位到正确的region,其中三次用来发现缓存失效,另外三次用来获取位置信息。

Manual transitions and failover(手动切换和故障切换)

When automatic failover is not enabled, admins have to manually transition one of the RMs to Active. To failover from one RM to the other, they are expected to first transition the Active-RM to Standby and transition a Standby-RM to Active. All this can be done using the “yarn rmadmin” CLI.

当自动故障切换没有被激活时,管理员必须手动地转换RMs中的一个为活跃。RM的故障切换时首先将活跃的RM切换为备用然后将一个备用的RM切换为活跃状态。这些都可以用“yarn rmadmin”命令行来实现。

配置网络

这里我采用的NAT模式,该模式的好处是不用管外界ip地址的变化(比如说办公环境经常变换,ip地址也经常变换),内部ip部会改变,这样可以免去频繁修改host文件的烦恼。

我这里使用的vmware,把22号端口暴露出去(可以在公网中访问)

编辑-虚拟网络编辑器

图片 3

点击【NAT设置】- 【添加】,这里输入端口号22,然后虚拟机的ip地址(进入虚拟机通过ipconfig获得),我这里是192.168.91.133

图片 4

图片 5

填完之后确定,我们虚拟机就配置完了

本文由千赢娱乐手机登录发布于千赢娱乐手机登录,转载请注明出处:深切通晓HBase架构原理,Hadoop官方文书档案翻译

关键词: