JindoFS概述:云原生的大数据计算存储分离方案

本文涉及的产品
EMR Serverless StarRocks,5000CU*H 48000GB*H
EMR Serverless Spark 免费试用,1000 CU*H 有效期3个月
简介: JindoFS 是一套新的云原生的数据湖解决方案。在 JindoFS 之前,云上客户主要使用 HDFS 和 OSS/S3 作为大数据存储。HDFS 是 Hadoop 原生的存储系统,10 年来,HDFS 已经成为大数据生态的存储标准,但是我们也可以看到 HDFS 虽然不断优化,但是 JVM 的瓶颈也始终无法突破。

作者:诚历,阿里巴巴计算平台事业部 EMR 技术专家,Apache Sentry PMC,Apache Commons Committer,目前从事开源大数据存储和优化方面的工作。


JindoFS概述:云原生的大数据计算存储分离方案

JindoFS 之前

在 JindoFS 之前,云上客户主要使用 HDFS 和 OSS/S3 作为大数据存储。HDFS 是 Hadoop 原生的存储系统,10 年来,HDFS 已经成为大数据生态的存储标准,但是我们也可以看到 HDFS 虽然不断优化,但是 JVM 的瓶颈也始终无法突破,社区后来重新设计了 OZone。OSS/S3 作为云上对象存储的代表,也在大数据生态进行了适配,但是由于对象存储设计上的特点,元数据相关操作无法达到 HDFS 一样的效率;对象存储给客户的带宽不断增加,但是也是有限的,一些时候较难完全满足用户大数据使用上的需求。

Jindo 的由来

EMR Jindo 是阿里云基于 Apache Spark / Apache Hadoop 在云上定制的分布式计算和存储引擎。Jindo 原是内部的研发代号,取自筋斗(云)的谐音,EMR Jindo 在开源基础上做了大量优化和扩展,深度集成和连接了众多阿里云基础服务。阿里云 EMR (E-MapReduce) 在 TPC 官方提交的 TPCDS 成绩,也是使用 Jindo 提交的。

http://www.tpc.org/tpcds/results/tpcds_perf_results.asp?resulttype=all

JindoFS

EMR Jindo 有计算和存储两大部分,存储的部分叫 JindoFS。JindoFS 是阿里云针对云上存储定制的自研大数据存储服务,完全兼容 Hadoop 文件系统接口,给客户带来更加灵活、高效的计算存储方案,目前已验证支持阿里云 EMR 中所有的计算服务和引擎:Spark、Flink、Hive、MapReduce、Presto、Impala 等。Jindo FS 有两种使用模式,块存储模式和缓存模式。下面我们来分析下,JindoFS 是如何来解决大数据上的存储问题的。

1.png

块存储模式

计算和存储分离是业界的趋势,OSS 这样的云上存储能力是无限大的,成本上非常有优势,如何利用 OSS 提供的无限存储能力,同时又高效地操作文件系统的元数据。JindoFS 块存储模式提供了一套完整的云原生解决方案。

image.png

JindoFS 的块存储模式,在元数据上使用 JindoNameService 服务管理 Jindo 文件系统元数据,元数据操作的性能和体验上可以对标 HDFS NameNode。同时,JindoStorageService 保障了数据可以始终有一份存在 OSS 上,即使数据节点被释放,数据也可以随时从 OSS 上拉取,成本上也可以做到更加灵活。

JindoFS 的块存储模式,也支持多种存储策略,比如,本地存两份,OSS上存一份;本地存两份,OSS上不存储;本地不存,OSS上存一份等等。用户可以充分利用不同的存储策略根据业务或者数据冷热进行使用。

块存储使用了全新的 jfs:// 格式,原始 HDFS/OSS 数据通过 distcp 方式即可完成数据导入,同时,JindoFS 提供了 SDK,在 EMR 集群外部,用户也可以读写 Jindo FS。

缓存模式

缓存模式,正如“缓存”本身的含义,通过缓存的方式,在本地集群基于 JindoFS 的存储能力构建了一个分布式缓存服务,远端的数据可以保存在本地集群,使远端数据变成“本地化”。简单地描述 JindoFS 缓存模式解决的问题
就是“OSS / 远端HDFS 已经有了大量数据,每次读数据的时候网络带宽经常被打满,Jindo FS 就可以通过缓存模式优化网络带宽的限制。

“原来的文件路径是 oss://bucket1/file1 或 hdfs://namenode/file2,不想改作业的路径可以吗?”。是的,不需要修改。EMR 对 OSS 进行了适配(后续会支持远端 HDFS 的场景),可以通过配置的方式使用缓存模式。缓存对于上层的作业做到了完全无感。

但是缓存模式也不是万能的,为了保证多端数据一致性,rename 这种操作一定要同步刷新到远端的 OSS / HDFS,特别是 OSS 的Rename 操作比较耗时,缓存模式对 rename这种文件元数据操作暂时不能优化

总结

在 2019 年的云栖大会上,EMR Jindo 的技术存储分离方案得到很大的关注,视频直达链接【云上大数据的一种高性能数据湖存储方案】
【EMR打造高效云原生数据分析引擎】后续我们也会在云栖社区和钉钉群分享更多的 Jindo 技术干货,欢迎有兴趣的同学加入 《Apache Spark技术交流社区》进行交流和技术分享。

相关文章【JindoFS - 云上大数据高性能数据湖存储方案】
扫码加入

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
存储 Cloud Native 数据处理
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
本文整理自阿里云资深技术专家、Apache Flink PMC 成员梅源在 Flink Forward Asia 新加坡 2025上的分享,深入解析 Flink 状态管理系统的发展历程,从核心设计到 Flink 2.0 存算分离架构,并展望未来基于流批一体的通用增量计算方向。
129 0
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
|
3月前
|
存储 JSON 分布式计算
数据湖,不“唬”你:这是大数据存储的新秩序!
数据湖,不“唬”你:这是大数据存储的新秩序!
70 2
|
3月前
|
存储 分布式计算 大数据
【赵渝强老师】阿里云大数据存储计算服务:MaxCompute
阿里云MaxCompute是快速、全托管的TB/PB级数据仓库解决方案,提供海量数据存储与计算服务。支持多种计算模型,适用于大规模离线数据分析,具备高安全性、低成本、易用性强等特点,助力企业高效处理大数据。
157 0
|
7月前
|
SQL 分布式计算 数据挖掘
从湖仓分离到湖仓一体,四川航空基于 SelectDB 的多源数据联邦分析实践
川航选择引入 SelectDB 建设湖仓一体大数据分析引擎,取得了数据导入效率提升 3-6 倍,查询分析性能提升 10-18 倍、实时性提升至 5 秒内等收益。
477 63
从湖仓分离到湖仓一体,四川航空基于 SelectDB 的多源数据联邦分析实践
|
6月前
|
存储 分布式计算 大数据
数据湖——大数据存储的新思维,如何打破传统束缚?
数据湖——大数据存储的新思维,如何打破传统束缚?
214 16
|
8月前
|
Cloud Native Serverless 数据中心
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
ACK One注册集群已正式支持ACS(容器计算服务)算力,为企业的容器化工作负载提供更多选择和更强大的计算能力。
|
8月前
|
Cloud Native Serverless 数据中心
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
239 10
|
10月前
|
运维 Cloud Native Serverless
Serverless Argo Workflows大规模计算工作流平台荣获信通院“云原生技术创新标杆案例”
2024年12月24日,阿里云Serverless Argo Workflows大规模计算工作流平台荣获由中国信息通信研究院颁发的「云原生技术创新案例」奖。
|
9月前
|
编解码 弹性计算 大数据
软硬结合助力倚天云原生算力再进化,加速大数据、视频转码上云步伐
本文介绍了云原生算力的进化,重点讨论了倚天710 CPU在大数据和视频转码场景中的应用与优势。倚天710采用ARM架构,通过物理核设计和CIPU加速卡优化,显著提升了高负载下的性能稳定性,并在实际应用中帮助客户实现了20%-40%的性能提升和成本降低。此外,文章还探讨了操作系统、编译器等底层软件的优化,以及如何通过龙蜥社区和阿里云平台支持更多应用场景,助力企业实现高效迁移和性能优化。
|
6月前
|
运维 Cloud Native 测试技术
极氪汽车云原生架构落地实践
随着极氪数字业务的飞速发展,背后的 IT 技术也在不断更新迭代。极氪极为重视客户对服务的体验,并将系统稳定性、业务功能的迭代效率、问题的快速定位和解决视为构建核心竞争力的基石。