• HDFS Ozone整体概述


    前言


    HDFS Ozone对象存储最近会有一个大动作:merge到主代码分支。这就动作具有十分大的意义,因为它意味着Ozone将在下一个最近发布的hadoop版本中出现并可以被广大用户所使用。所以在这个背景下,Ozone第一版本的代码和结构基本已经确定完毕,这个时候,我们再从大的层面来学习、了解这个框架、体系显然还是很有必要的。官方社区已经有许多相应的介绍文档在介绍这方面的内容了。笔者也大致阅读了一下,来简单概述其中一些要点。

    Ozone高层设计


    首先要明白Ozone是用来干什么的:

    基于Apache Hadoop之上用来做亿万数量级对象存储的。

    Ozone第一版本内部的架构图如下所示:


    下面,笔者依次从上到下介绍其中相关的组件。

    Ozone Client


    Ozone client客户端在Ozone内部是一个对外部开放使用的模块,比如说Ozone相关的shell命令会触发到ozone client,这就是图中显示的Ozone Cli。

    再来说说图中左上角的Rest Handler。这是什么意思呢?Ozone client能够支持2种方式的通信:RPC方式和Restful接口的方式。其中能做到一键切换。

    Corona是Ozone内部的性能测试工具,它的原理是利用Ozone客户端接口来做一些benchmark。它可以分为2种模式:online和offline模式。

    offline模式:开若干线程创建指定数量级别的随机命名的volume/bucket/key。以此达到在拥有大量key的效果。
    online模式:连接一个公开的地址,通过网络爬取的方式下载文件,put到Ozone上。

    Ozone文件系统:OzoneFileSysyem


    Ozone为了兼容其它框架体系,根据自身独特的数据特点,实现了文件系统接口,称为OzoneFileSystem。这样的话,用户可以以通用的方式来使用Ozone内部的文件对象。在程序上无需做兼容性的改动。

    Key Space Manager


    Key Space Manager(KSM)负责管理的是Ozone命名空间。所有的volume,bucket、key的记录信息都保存在了KSM中。此角色类似于HDFS的NameNode。KSM与SCM交互通性,然后Ozone client写学数据到最终的block上。最终通过Apache Ratis来实现多副本机制,以此保证HA。

    Storage Container Manager


    Storage Container Manager(SCM)负责管理“Container”对象,Container在逻辑上存储的是block块对象集合。DataNode是以Container的形式来提供存储能力。

    在SCM内部提供了以下抽象的概念:


    下面是具体角色介绍:

    • Block: block数据块对象,真实存储数据的对象,可以拥有多个副本块。
    • Container:Block块集合。
    • Pipeline:SCM允许2种Pipeline方式实现多副本:单副本的Standaline模式和多副本的Ratis方式。
    • Pool:一组特定的数据节点称为一个pool。将节点按pool分组是为了方便日常的维护升级操作,也是为了扩展性的考虑。
    • Node:物理存储数据的地方。

    参考资料


    1.Ozone: Documentation: Add Ozone overview documentation. https://issues.apache.org/jira/secure/attachment/12889871/HDFS-12551-HDFS-7240.004.patch

  • 相关阅读:
    剑指offer——最小的K个数和数组中第K大的元素
    Leetcode刷题指南链接整理
    160. Intersection of Two Linked Lists
    100. Same Tree
    92. Reverse Linked List II
    94. Binary Tree Inorder Traversal
    79. Word Search
    78,90,Subsets,46,47,Permutations,39,40 DFS 大合集
    0x16 Tire之最大的异或对
    0x16 Tire
  • 原文地址:https://www.cnblogs.com/bianqi/p/12183658.html
Copyright © 2020-2023  润新知