专栏首页Hadoop实操Hadoop 对象存储 Ozone

Hadoop 对象存储 Ozone

作者:Yan Liu

审阅:Xiaoyu Yao

0

Hadoop HDFS的现状

Apache Hadoop 项目至今已经有十多年的历史了,作为大数据的基石,自从投放之社区之后就引来了不少的眼球,进而也孕育出了众多的Apache项目,例如HBase,Hive , Spark 等等这些优秀的数据存储和处理等项目,从而构造成了一个庞大的生态圈。参考了世界级标准的,也就是 Hadoop的HDFS,一直在跟IEEE的POSIX文件系统API标准靠拢,因此我觉得,HDFS是长久的,因为它的API足够的标准化。API足够的标准化也就意味着照着实现的东西考虑的是很全面的。但是这并不代表HDFS本身的设计不存在问题或缺陷。

Current HDFS High Level Design

通常我们见到的一个HDFS集群,普通用户的上限是2亿个Block,有些能力特别强的用户群体,能做到4亿到6亿个Block。如果按照这个理想状态每个Block的元数据占位都对应有128MB的数据块,那么理论情况下的存储上限是75 PB。这个存储上限其实已经非常高了,对比今日甚至未来几年的需求,除了云服务提供商,几乎不会有其它的企业想去存储75PB的可用数据。

虽然这个上限非常的高,但并不代表它的设计架构就可以一直这样保持下去,作为一个理想的文件系统,不应该对上层的应用有挑剔。可是至今为止,我们见到HDFS对上层的应用挑剔性还是比较大的。例如微服务的应用,目前就没办法运行在HDFS之上。同时,实时类的应用,例如Apache Kafka ,也没有办法运行在HDFS之上。究其原因,还是数据的写入速度不够快,同时存在唯一的目录元数据,文件越多越可能导致RPC过高等等问题。

1

社区的一些改进

大体上讲,HDFS目前的问题有以下几个方面:

1

超大规模的扩展能力问题;

2

运维的复杂性问题;

3

应对云和实时的问题;

4

小文件问题。

举个例子,即便是大型互联网公司,比如eBay, 也有每两周一次的HDFS健康检查日,如此可见HDFS的运维是需要不断的Review和修复的。不过,为了解决这些问题,社区是有一些方案的,例如,NameNode Federation和Route Based Federation等。但是这些方案都没有办法很好的解决HDFS目前面临的所有问题。

HDFS NameNode Federation High Level Design

HDFS Route Based Federation High Level Design

正如上面的图里所显示的,NNF是将Namespace做了拆分,DataNode不需要拆分,而RBF是将数个HDFS集群通过Router抽象合并。这两个实现方案都有各自的优点和缺点,但是都不能完整的解决HDFS目前的各种痛点。

2

由 HDFS 转变为 HDDS

为了把HDFS做的更加的通用和标准化,Hadoop社区由Anu Engineer带队,着手设计Apache Hadoop的对象存储方案,也就是今天人们熟知的Hadoop Ozone。为了实现Ozone,还需要实现一个自通信数据一致性方案,于是这个大团队又着手研发了Apache Ratis。关于Apache Ratis是什么以及什么原理,我们可以后续讨论(主要是PAXOS理论实在太晦涩了,即便是简版的RAFT理论也很难讲出来),当前这篇文章还是主要以Ozone为主。

HDDS High Level Design

Ozone Manager:用来负责管理和分配文件名;

Storage Container Manager:用来分配Block的位置和物理服务器;

Container: 这个是我曾经和研发Team吐槽过的一个点,大部分用户看到Container都会联想到K8S的应用容器。而这个Container,如果用JAVA的名词概念来解释的话,实际上就是把一堆Bean(极小的Block)放到Jar(Container)里,然后再放一个RocksDB来告诉打开罐子的人,这个罐子里每一个Bean的具体位置。另外,特别小的文件(<1MB)甚至直接可以放在RocksDB里。

这样的设计吸收了HDFS本身的优秀的一面,同时也解决了HDFS面临的诸多问题:

1

多层目录结构的设计方案使得Ozone可以提升到百亿级别的文件Key;

2

OM和SCM是可以横向扩展的,并不会出现RPC集中在单点的问题;

3

使用Offheap来减少GC,通过FSCK服务来自动化的维护集群;

4

通过Apache Ratis来保障数据的强一致性等等。

同时,这样的设计还更好的支持了K8S应用的部署,通过Quadra服务还可以创建和Mount与K8S应用对应的Storage Volume。关于K8S支持的技术细节,在Ozone系列的下一篇文章中会讲到。

3

结束语

大头作为一个社区粉丝,还是要敬仰并感谢这些社区贡献人员不断的为Hadoop注入新鲜的活力,以下是Ozone项目的不完全社区主要贡献人员列表。

Anu Engineer (Ozone Project Lead)

Cloudera Principal Software Engineer

Apache Hadoop Committer/PMC Member

Apache Ratis Committer/PMC Member

Xiaoyu Yao

Cloudera Principal Software Engineer

Apache Hadoop Committer/PMC Member

Marton Elek

Cloudera Principal Software Engineer

Apache Hadoop Committer

Apache Ratis. Committer/PMC Member

Nicholas Sze

Cloudera Principal Software Engineer

Apache Hadoop Committer/PMC Member

Apache Ratis. Committer/PMC Member

Chen Liang

LinkedIn Senior Software Engineer

Apache Hadoop Committer

等等等等

Ozone项目主页:

https://hadoop.apache.org/ozone/

Ozone设计方案:

https://issues.apache.org/jira/secure/attachment/12724042/Ozone-architecture-v1.pdf

Ozone Jira:

https://jira.apache.org/jira/projects/HDDS/

尝鲜Ozone:

https://www.katacoda.com/elek/scenarios/ozone101

Ozone Docker Volume(Quadra / cBlock):

https://issues.apache.org/jira/secure/attachment/12837867/cblock-proposal.pdf

文章分享自微信公众号:
Hadoop实操

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!

如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • 大咖预告 | Apache首次亚洲技术峰会:大数据专场

    2021 Apache首次亚洲虚拟技术峰会:大数据专场即将在8月6日-8月8日震撼来袭。腾讯云存储高级工程师程力将在8月7日14:50分和8月8日14:10分别...

    云存储
  • 腾讯大数据团队主导Apache社区新一代分布式存储系统Ozone 1.0.0发布

    近日,由腾讯大数据团队主导的Ozone 1.0.0版本在Apache Hadoop社区正式发布。经过2年多的社区持续开发和腾讯内部1000+节点的实际落地验证,...

    腾讯大数据
  • Apache基金会正式宣布新一代分布式对象存储Ozone成为顶级项目

    刚刚获悉,Apache基金董事会通过一致表决,正式批准分布式文件对象存储Ozone从Hadoop社区孵化成功,成为独立的Apache顶级开源项目。这意味着,作...

    腾讯开源
  • 开源项目介绍 |Apache Ozone-分布式大数据通用存储

    2021腾讯犀牛鸟开源人才培养计划 开源项目介绍 滑至文末报名参与开源人才培养计划 提交项目Proposal Apache Ozone项目介绍 标签:大数据...

    腾讯开源
  • 首届Apache Hadoop技术社区中国Meetup在京举办(附PPT)

    近日,在Apache Hadoop社区主导及邀请下,腾讯开源、腾讯大数据、腾讯云联合承办了Hadoop技术社区在中国的首次Meetup。围绕Hadoop技术实践...

    腾讯技术工程官方号
  • 首届Apache Hadoop技术社区中国Meetup在京举办(内附完整PPT)

    近日,在Apache Hadoop社区主导及邀请下,腾讯开源、腾讯大数据、腾讯云联合承办了Hadoop技术社区在中国的首次Meetup。围绕Hadoop技术实践...

    腾讯开源
  • 开源界的盛会来啦!要错过了解腾讯Apache生态最佳实践的机会吗?

    8月,一场盛夏的技术盛宴将要来啦!这就是ApacheCon Asia。作为开源界备受关注的会议之一,今年大会将持续3天,开设14+分论坛,内容覆盖从大数据到搜索...

    腾源会
  • 漫谈未来的HDFS

    前面我们提到的HDFS,了解了HDFS的特性和架构。HDFS能够存储TB甚至PB规模的数据是有前提的,首先数据要以大文件为主,其次NameNode的内存要足够大...

    用户3128938
  • 漫谈未来的HDFS

    前面我们提到的HDFS,了解了HDFS的特性和架构。HDFS能够存储TB甚至PB规模的数据是有前提的,首先数据要以大文件为主,其次NameNode的内存要足够大...

    叁金
  • 【存储】2022 年的 4 个开源对象存储平台

    介绍 在处理大量非结构化数据时,我们需要一个地方来存储它。我们选择存储数据的方式有很多种,但今天我们要关注的一种是对象存储或基于对象的存储。这是处理大量数据...

    首席架构师智库
  • Hadoop Ozone如何巧妙利用Multi-Raft机制优化数据节点吞吐量

    背景 作为近期Hadoop社区的明星项目,Hadoop Ozone吸引了社区广泛的关注。它脱胎于HDFS,不仅同时支持文件系统和对象语义,能原生对接HDFS和...

    腾讯大数据
  • Apache Ozone和密集型数据节点

    该帖子也是由两名思科员工共同撰写的:Karthik Krishna,Silesh Bijjahalli

    大数据杂货铺
  • 0802-Cloudera Data Center7.1.3正式GA

    CDP Data Center是CDP(Cloudera Data Platform)的on-premise版本。这个新产品结合了Cloudera EDH和HD...

    Fayson
  • 星火计划 | 面向数据湖的下一代大数据存储——Ozone技术沙龙火热报名中

    导语:大数据技术与应用不断演进,数据存储需求愈发多元、复杂,由此催生了许多新的存储系统,以支撑上层业务系统运行,技术生态也日益繁荣。 Ozone就是Hadoo...

    腾讯大数据
  • 大数据架构前沿实践分享

    12月19日,9:00-12:40,由来自腾讯数据湖研发负责人邵赛赛老师出品的DataFunTalk年终大会——大数据架构论坛,将邀请来自腾讯、Tubi、车好...

    腾讯大数据
  • 聊一聊分布式对象存储解决方案

    OSS(Object Storage Service)俗称对象存储,主要提供图片、文档、音频、视频等二进制文件的海量存储功能。目前除了公有云提供对象存储服务外,...

    大数据技术架构
  • Hadoop Meetup 现场直播

    自2006年诞生以来,Hadoop技术与社区已走过了13个年头,在经历了大数据技术高速发展之后,迎来了3.x时代。Hadoop如何在腾讯、阿里、滴滴、小米、美团...

    腾讯开源
  • 向成熟化迈进 - 腾讯Ozone千台能力突破

    背景介绍 腾讯目前在HDFS上存储了海量的数据,但HDFS在可扩展性上的缺陷,以及对小文件的不友好,限制了HDFS在许多场景下的应用。 为了寻找能解决这些问...

    腾讯大数据

扫码关注云+社区

领取腾讯云代金券