基于JindoFS+OSS构建高效数据湖

为什么要构建数据湖

大数据时代早期,Apache HDFS 是构建具有海量存储能力数据仓库的首选方案。随着云计算、大数据、AI 等技术的发展,所有云厂商都在不断完善自家的对象存储,来更好地适配 Apache Hadoop/Spark 大数据以及各种 AI 生态。由于对象存储有海量、安全、低成本、高可靠、易集成等优势,各种 IoT 设备、网站数据都把各种形式的原始文件存储在对象存储上,利用对象存储增强和拓展大数据 AI 也成为了业界共识,Apache Hadoop 社区也推出了原生的对象存储“Ozone”。从 HDFS 到对象存储,从数据仓库到数据湖,把所有的数据都放在一个统一的存储中,也可以更加高效地进行分析和处理。

对于云上的客户来说,如何构建自己的数据湖,早期的技术选型非常重要,随着数据量的不断增加,后续进行架构升级和数据迁移的成本也会增加。在云上使用 HDFS 构建大规模存储系统,已经暴露出来不少问题。HDFS 是 Hadoop 原生的存储系统,经过 10 年来的发展,HDFS 已经成为大数据生态的存储标准,但我们也看到 HDFS 虽然不断优化,但是 NameNode 单点瓶颈,JVM 瓶颈仍然影响着集群的扩展,从 1 PB到 100+ PB,需要不断的进行调优、集群拆分来,HDFS 可以支持到 EB 级别,但是投入很高的运维成本,来解决慢启动,心跳风暴,节点扩容、节点迁移,数据平衡等问题。

云原生的大数据存储方案,基于阿里云 OSS 构建数据湖是最合适的选择。OSS 是阿里云上的对象存储服务,有着高性能、无限容量、高安全、高可用、低成本等优势,JindoFS 针对大数据生态对 OSS 进行了适配,缓存加速,甚至提供专门的文件元数据服务,满足上云客户的各种分析计算需求。因此在阿里云上,JindoFS + OSS 成为客户采取数据湖架构迁移上云的最佳实践。

JindoFS 介绍

Jindo 是阿里云基于 Apache Spark / Apache Hadoop 在云上定制的分布式计算和存储引擎。Jindo 原是阿里云 开源大数据团队的内部研发代号,取自筋斗(云)的谐音,Jindo 在开源基础上做了大量优化和扩展,深度集成和连接了众多阿里云基础服务。

JindoFS 是阿里云针对云上存储自研的大数据缓存加速服务,JindoFS 的设计理念是云原生:弹性、高效、稳定和低成本。JindoFS 完全兼容 Hadoop 文件系统接口,给客户带来更加灵活、高效的数据湖加速方案,完全兼容阿里云 EMR 中所有的计算服务和引擎:Spark、Flink、Hive、MapReduce、Presto、Impala 等。JindoFS 有两种使用模式,块存储模式(BLOCK)和缓存模式(CACHE)。下面我们介绍下如何在 EMR 中配置和使用 JindoFS 以及不同模式对应的场景。

JindoFS 架构

JindoFS 主要包含两个服务组件:元数据服务(NamespaceService) 和存储服务 (StorageService):

  • NamespaceService 主要负责元数据管理以及管理 StorageService。
  • StorageService 主要负责管理节点的本地数据和 OSS 上的缓存数据。

下图是 JindoFS 架构图:元数据服务 NamespaceService 部署在独立的节点,对于生产环境推荐部署三台(Raft)来实现服务高可用;存储服务 StorageService 部署在集群的计算节点,管理节点上的闲置存储资源(本地盘/SSD/内存等),为JindoFS 提供分布式缓存能力。
4.png

JindoFS 元数据服务

JindoFS 的元数据服务叫 JindoNamespaceService,内部基于 K-V 结构存储元数据,相对于传统的内存结构有着操作高效,易管理,易恢复等优势。

  • 高效元数据操作。JindoFS NamespaceService 基于内存 + 磁盘管理和存储元数据,但是性能上比使用内存的 HDFS NameNode 还要好,一方面是 JindoFS 使用 C++ 开发,没有 GC 等问题,响应更快;另一方面是由于 Namespace Service 内部有更好的设计,比如文件元数据上更细粒度的锁,更高效的数据块副本管理机制。
  • 秒级启动。有大规模 HDFS 集群维护经验的同学比较清楚,当 HDFS 元数据存储量过亿以后,NameNode 启动初始化要先加载 Fsimage ,再合并 edit log,然后等待全部 DataNode 上报 Block,这一系列流程完成要花费一个小时甚至更长的时间, 由于 NameNode 是双机高可用(Active/Standby),如果 standby 节点重启时 active 节点出现异常 ,或两台 NameNode 节点同时出现故障,HDFS 将出现停服一小时以上的损失。JindoFS 的元数据服务基于 Raft 实现高可用,支持 2N+1 的部署方式,允许同时挂掉 N 台;元数据服务 (NamespaceService) 在元数据内部存储上进行了设计和优化,进程启动后即可提供服务,可以做到了快速响应。由于 NamespaceService 近实时写入 OTS 的特点,元数据节点更换,甚至集群整体迁移也非常容易。
  • 低资源消耗。HDFS NameNode 采用内存形式来存储文件元数据。在一定规模下,这种做法性能上是比较不错的,但是这样的做法也使 HDFS 元数据的规模受限于节点的内存,经过推算,1亿文件 HDFS 文件大约需要分配 60 GB Java Heap 给 NameNode,所以一台 256 GB的机器最多可以管理 4 亿左右的元数据,同时还需要不断调优 JVM GC。JindoFS 的元数据采用 Rocksdb 存储元数据,可以轻松支持到 10 亿规模,对于节点的内存需求也非常小,资源开销不到 NameNode 的十分之一。

JindoFS 缓存服务

JindoFS 的数据缓存服务叫 JindoStorageService,本地 StorageService 主要提供高性能缓存加速,所以运维上可以基于这样的设定大大简化。

  • 弹性运维。HDFS 使用 DataNode 在存储节点上来管理节点存储,全部数据块都存储在节点的磁盘上,依靠 DataNode 定期检查和心跳把存储状态上报给 NameNode,NameNode 通过汇总和计算,动态地保证文件的数据块达到设定的副本数(一般 3 副本)。对于大规模集群(节点 1000+),经常需要进行集群节点扩容,节点迁移,节点下线,节点数据平衡这样的操作,大量的数据块的副本计算增加了 NameNode 负载,同时,节点相关操作要等待 NameNode 内部的副本调度完成才能进行,通常一个存储节点的下线需要小时级别的等待才能完成。JindoFS 使用 StorageService 来管理节点上的存储,由于 JindoFS 保证了数据在 OSS 上有一副本,所以本地的副本主要用来进行缓存加速。对于节点迁移、节点下线等场景,JindoFS 无需复杂副本计算,通过快速的“标记”即可完成下线。
  • 高性能存储。StorageService 采用 C++ 语言开发,在对接最新高性能存储硬件上也有着天然优势。StorageService 的存储后端不仅可以同时对接SSD、本磁盘、OSS 满足 Hadoop/Spark 大数据框架各种海量、高性能的存储访问需求,可以对接内存、AEP 这样的高性能设备满足 AI/机器学习的低延时、高吞吐的存储使用需求。

JindoFS 适用场景

JindoFS 的元数据存储在 Master 节点的 NamespaceService (高可用部署)上,性能和体验上对标 HDFS;Core节点的 StorageService 将一份数据块存储在 OSS 上,本地数据块可以随着节点资源进行快速的弹性伸缩。多集群之间也可以相互打通。
5.png

为了支持数据湖多种使用场景,一套 JindoFS 部署同时提供两种 OSS 使用方式,存储模式(Block)和缓存模式(Cache)。

  • 缓存模式。对于已经存在于 OSS 上的数据,可以使用缓存模式访问,正如“缓存”本身的含义,通过缓存的方式,在本地集群基于 JindoFS 的存储能力构建了一个分布式缓存服务,把远端数据缓存在本地集群,使远端数据“本地化”。使用上也沿用原来的路径访问,如 oss://bucket1/file1 ,这种模式全量的文件都在 OSS 上面,可以做到集群级别的弹性使用。
  • 存储模式。存储模式(Block)适用于高性能数据处理场景,元数据存储在 NamespaceService (支持高可用部署)上,性能和体验上对标 HDFS;StorageService 将一份数据块存储在 OSS 上,本地数据块可以随着节点资源可以进行快速的弹性伸缩。基于 JindoFS Block 模式这样的特性,可以用作构建高性能数仓的核心存储,多个计算集群可以访问 JindoFS 主集群的数据。

JindoFS 方案优势

基于JindoFS + OSS 来构建数据湖相比于其他数据湖方案同时具有性能和成本优势。

  • 性能上,JindoFS 针对一些常用的场景和 Benchmark 进行了对比测试,如 DFSIO、NNbench、TPCDS、Spark、Presto 等,通过测试我们可以看到性能上,Block模式完全领先于 HDFS,Cache模式完全领先于 Hadoop 社区的 OSS SDK 实现,由于篇幅的原因,后续我们会发布详细的测试报告。
  • 成本上。成本是也是用户上云的重要考量,JindoFS 的成本优势主要体现在运维成本和存储成本两方面。运维成本指的是集群日常维护,节点上下线、迁移等。如前面分析,当 HDFS 集群增长到一定规模时,比如 10PB+,除了对 HDFS 进行专家级别调优外,还需要业务上的拆分规划,避免达到 HDFS 元数据上的瓶颈。同时,随着集群数据不断增长,一些节点和磁盘也会出现故障,需要进行节点下线和数据平衡,也给大集群的运维带来一定的复杂度。JindoFS 可以使用 OSS + OTS 的存储模式,OSS 上保留原始文件和数据块备份,对节点和磁盘出现的问题可以更好兼容;元数据(NamespaceService)采用 C++ 开发加上工程打磨,相比 NameNode + JVM 在容量上和性能上也更有优势。

下面我们重点来看存储成本。存储成本指的是存放数据后产生的存储费用,使用 OSS 是按量付费的,相比基于本地盘创建的 HDFS 集群有更好的成本优势,下面来计算和对比一下二者成本:

基于 HDFS + 本地盘方案构建大数据存储:

由于本地盘机型为整体价格,需要如下进行换算,预估存储成本如下:
截屏2020-09-14 下午8.31.28.png

(参考链接:https://www.aliyun.com/price/product#/ecs/detail )

考虑到实际使用 HDFS 会有3副本以及一定的预留空间,我们以 HDFS 3 副本、 80% 使用率进行成本计算:

截屏2020-09-14 下午8.33.07.png

基于 JindoFS 加速方案构建数据湖:

     OSS 数据存储(标准型单价)=  0.12元/GB/每月

(参考链接:https://www.aliyun.com/price/product#/oss/detail )

我们可以看到使用 JindoFS 加速方案构建数据湖,要节省 25% 的存储成本。同时 OSS 是按量计费,即计算存储分离,当计算和存储比例存在差异时,比如存储资源高速增长,计算资源增加较小时,成本优势会更加明显。

对 OSS 数据进行缓存加速,需要额外使用计算节点上部分磁盘空间,带来一定成本。这部分成本,一般取决于热数据或者要缓存数据的大小,跟要存储的数据总量关系不大。增加这部分成本,可以换取计算效率的提升和计算资源的节省,整体效果可以根据实际场景进行评估。

JindoFS 生态

数据湖是开放的,需要对接各种计算引擎。目前 JindoFS 已经明确支持 Spark、Flink、Hive、MapReduce、Presto 和 Impala 组件。同时,JindoFS 为了支持更好地使用数据湖,还提供 JindoTable 对结构化数据进行优化和查询加速;提供 JindoDistCp 来支持 HDFS 离线数据往 OSS 迁移;支持 JindoFuse 方便数据湖上加速机器学习训练。

 

原文链接
本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/515044.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker onlyoffice7.1.1 word excel ppt在线编辑、在线预览_添加中文字体和中文字号_02

文章目录一、 onlyoffice添加中文字体1. 下载字体2. 上传字体3. 删除原版自带字体4. 字体复制5. 安装字体6. 重启容器7. 清除缓存8. 效果验证二、 onlyoffice添加中文中文字号2.1. 拷贝配置文件2.2. 编辑配置2.3. 上传配置2.4. 配置覆盖2.5. 重启容器2.6. 效果验证一、 onlyoff…

重磅报告 | 《中国企业2020:人工智能应用实践与趋势》

文章导读 AI设计师“鹿班”每秒可设计海报8000张,赋能30万商家备战“双十一”;光伏电池生产商天合光能运用人工智能算法将A品率提升7%,创造利润数千万;AI帮助优酷分析舆情选出爆款影视剧IP,打造了10天播放量超过60亿的…

OnlyOffice 修改文件大小限制

文章目录1. 拷贝配置到宿主机2. 配置调整3. 配置覆盖4. 容器重启5. 启动案例测试6. 查看日志1. 拷贝配置到宿主机 docker cp 58f75f6ca6f7:/etc/onlyoffice/documentserver/default.json ./2. 配置调整 vim default.json默认下载大小"maxDownloadBytes": 104857600,…

启明星辰集团:文化筑底,战略引领信息安全之路

4月30日,“启明星辰集团年度业绩说明与战略发布会”在上海成功举办,启明星辰集团总裁严立、集团CFO张媛、集团董秘姜朋出席会议,为投资者、用户、媒体解读企业未来战略布局,就行业状况、生产经营、财务状况进行说明,探…

【数据湖加速篇】 —— 如何利用缓存加速服务来提升数据湖上机器学习训练速度

简介: JindoFS提供了一个计算侧的分布式缓存系统,可以有效利用计算集群上的本地存储资源(磁盘或者内存)缓存OSS上的热数据,从而减少对OSS上数据的反复拉取,消耗网络带宽。 背景介绍 近些年,机…

OnlyOffice 二次开发定制化部署

文章目录一、与前准备1. 功能点总览2. 上传中文字体3. 上传镜像包4. 创建目录5. 字体挂载6. 加载镜像二、与前准备2.1. 创建容器2.2. 浏览器验证2.3. 在线编辑一、与前准备 1. 功能点总览 功能兼容性说明并发20限制去除√并发数999中文字体√41种常用字体中文字号√文件下载大…

何为“边缘计算”?

来源 | 无敌码农责编 | 寇雪芹头图 | 下载于视觉中国在云原生除了K8S、微服务,还有...?中和大家聊了下关于云原生的话题,在云原生的概念中比较明确的一个特点就是云原生是基于云计算的。在这种模式下用户的计算请求会被发送到云端服务进行处理&#xff…

用尽每一寸GPU,阿里云cGPU容器技术白皮书重磅发布!

简介: 云原生已经成为业内云服务的一个趋势。在云原生上支持异构计算有助于提升CPU的利用率。一文分析业内主流GPU共享方案,并告诉你阿里云cGPU牛在哪里!阿里云异构计算推出的cGPU(container GPU)容器技术,…

钉钉轻松顶住信息洪流的原因,竟然是它

简介: 在9月18日云栖大会上,阿里云智能高级技术专家木洛就为我们详细介绍了,表格存储Tablestore是如何助力钉钉消息存储架构的升级,帮助钉钉顶住持续增长的流量。 今年的疫情来势汹汹,新冠病毒作为2020最具代表性的黑…

说到 SASE,新的安全范式有哪些

来源 | 好奇瞅瞅责编 | 寇雪芹头图 | 下载于视觉中国前言本系列目录:深入理解SASE(一):什么是云化深入理解SASE(二):网络云化及演进方向深入理解SASE(三):什么…

从零入门 Serverless | SAE 场景下,应用流量的负载均衡及路由策略配置实践

简介: 本节课程包含三部分内容:单应用的负载均衡配置、多应用的路由策略配置以及自建微服务网关。 作者 | 落语 阿里云云原生技术团队 本文整理自《Serverless 技术公开课》,“Serverless”公众号后台回复“入门”,获取 Serverle…

聚焦2020云栖大会 边缘计算专场畅谈技术应用创新

简介: 一年一度科技圈盛事—云栖大会如期上演,本届大会以“数智未来,全速重构”为主题,与业界同仁、合作伙伴共同打造了一场数字时代的云上相聚。于9月18日下午举办的边缘计算技术应用创新专场中,阿里云携手甘肃省公路…

springboot word aspose 转换PDF 在线预览

文章目录1. 依赖2. 工具类3. 实现类4. controller5. application.yml6. license.xml7. 目录结构8. 测试验证1. 依赖 <dependencies><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.1…

【数据湖加速篇】 —— 数据湖结构化数据优化与查询加速方案

简介&#xff1a; 近几年&#xff0c;数据湖架构的概念逐渐兴起&#xff0c;很多企业都在尝试构建数据湖。相比较大数据平台&#xff0c;数据湖在数据治理方面提出了更高的要求。对于数据湖场景所提出的新需求&#xff0c;“传统”的大数据工具在很多方面都面临着新的挑战。Jin…

Kubernetes 也有局限性吗?

作者 | Draveness来源 | 真没什么逻辑头图 | 下载于视觉中国2014 年发布的 Kubernetes 在今天俨然已成为容器编排领域的事实标准&#xff0c;相信谈到 Kubernetes 的开发者都会一再复述上述现象。如下图所示&#xff0c;今天的大多数个人或者团队都会选择 Kubernetes 管理容器&…

Kubernetes 新玩法:在 yaml 中编程

简介&#xff1a; 如何做性能测试&#xff1f;要么是通过编码的方式完成&#xff0c;写一堆脚本&#xff0c;用完即弃&#xff1b;要么是基于平台&#xff0c;在平台定义的流程中进行。对于后者&#xff0c;通常由于目标场景的复杂性&#xff0c;如部署特定的 workload、观测特…

对话猿辅导:阿里云远程办公零信任落地创新安全

简介&#xff1a; 大型实战场景验证&#xff0c;灵活应对复杂环境。 2020&#xff0c;一场突如其来的新冠疫情&#xff0c;引发了史上最大规模的远程办公。疫情让安全问题暴露得更加突出&#xff0c;与疫情的对抗也是阿里云安全的战场。 9月18日&#xff0c;2020云栖大会技术…

阿里云发布边缘计算视频上云解决方案 为海量视图处理提供城市级云基础设施

简介&#xff1a; 2020云栖大会在云上成功召开&#xff0c;此次大会汇聚行业领袖&#xff0c;共同见证数智未来的重构进程。在9月18日的产品发布大厅&#xff0c;阿里云正式发布边缘计算视频上云解决方案&#xff0c;旨在依托城市级云计算基础设施&#xff0c;实现海量视图数据…

数据湖元数据服务的实现和挑战

简介&#xff1a; 数据湖元数据服务为大数据而生&#xff0c;为互通生态而生&#xff0c;期望后续继续完善其服务能力和支撑更多的大数据引擎&#xff0c;通过开放的服务能力、存储能力、统一的权限及元数据管理能力&#xff0c;为客户节省管理/人力/存储等各项成本&#xff0c…

美国燃油“动脉”被黑客切断,网络安全走向哪里?专访山石网科|拟合

从无序中寻找踪迹&#xff0c;从眼前事探索未来。 > 2021 年正值黄金十年新开端&#xff0c;CSDN 以中立技术社区专业、客观的角度&#xff0c;深度探讨中国前沿 IT 技术演进&#xff0c;推出年度重磅企划栏目——「拟合」&#xff0c;通过对话企业技术高管大咖&#xff0c;…