Loading
0

Cloudera资讯| Ozone中的10亿个文件

Apache Hadoop Ozone是一个分布式键值存储,可以同时管理大小文件。Ozone旨在解决HDFS相对于小文件的规模限制。HDFS旨在存储大文件,对于Namenode,HDFS上建议的文件数量为3亿个,并且扩展规模不能超过此限制。

有助于实现可扩展性的Ozone的主要功能是:

  • Ozone中的名称空间被写入本地RocksDB实例,通过这种设计,可以轻松地调整性能(将所有内容保留在内存中)和可伸缩性(将较少使用的元数据持久保存到磁盘)之间的平衡。
  • 命名空间和块空间管理分别分成两个不同的守护程序OzoneManager(OM)和StorageContainerManager(SCM)。这些守护程序中的每一个都可以彼此独立地缩放。
  • 与HDFS不同,Ozone块报告是通过容器报告来报告的,该报告汇总了容器中多个块的报告。

Ozone项目的主要目标之一是提供名称空间可伸缩性,同时保留客户端的容错性,安全性,性能和可伸缩性。

突破10亿个密钥之旅,超越了HDFS可扩展性限制

在Ozone中达到十亿个对象一直是该项目的重要里程碑之一。使用在5个节点(每个节点有50个线程)上运行的自定义作业填充数据。Ozone在11个节点的群集(1个OM,1个SCM和9个数据节点)上运行,花了56个小时才达到10亿个对象,每个对象的大小均为10KB。选择10KB的原因是用小文件测量Ozone性能。

Ozone能够以〜5000个对象/秒的持续速率写入对象,这进一步突出了Ozone的小文件处理能力,在整个测试过程中,它能够提供相同的吞吐量。

一些重要的细节:

来自OzoneManger的持续交易

OzoneManger总共处理了20亿笔交易,每个对象有两笔交易(一个用于打开文件,另一个用于提交文件)。OzoneManger(OM)以大约12毫秒的延迟处理了10亿个对象中的这些操作。恒定的等待时间还凸显了OzoneManager上没有长时间的GC暂停。

小元数据开销
每个10KB大小的十亿个密钥存储在2121个5GB容器中,这大大减少了SCM的块元数据,与在OFS中报告的2121个容器相比,HDFS中报告了10亿个块。另一方面,OM上的十亿个密钥在SSD上总共占用了127 GB的空间。

测试环境

该测试在Apache Hadoop Ozone 0.5.0(Beta)版本上运行。

硬件

该测试是在AWS EC2实例类型为m5a.4xlarge的情况下执行的,其中具有用于OzoneManager和Storage Container Manager数据库的SSD。

结论

HDFS围绕小文件的已知限制和名称空间规模限制导致存储节点利用率不足,GC问题和Namenode不稳定,以及大型数据湖部署的名称空间碎片。Ozone通过处理数十亿个各种大小的文件来克服这些限制,因此可以在单个名称空间中部署大型数据湖。 具有更高规模的Ozone体系结构以及对对象存储用例的支持,可以满足私有云环境中对大数据存储的需求,在私有云环境中,计算和存储的分类正在迅速发展。

Cloudera试用和报价

关于Cloudera

在 Cloudera,我们相信数据可以使今天的不可能,在明天成为可能。我们使人们能够将复杂的数据转换为清晰而可行的洞察力。Cloudera 为任何地方的任何数据从边缘到人工智能提供企业数据云平台服务。在开源社区不懈创新的支持下, Cloudera推动了全球最大型企业的数字化转型历程。了解更多,请联系在线客服

慧都大数据专业团队为企业提供Cloudera大数据平台搭建,免费业务咨询,定制开发等完整服务,快速、轻松、低成本将任何Hadoop集群从试用阶段转移到生产阶段。

欢迎拨打慧都热线023-68661681或咨询慧都在线客服,我们有专业的大数据团队,为您提供免费大数据相关业务咨询!