首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Hadoop中的分布式缓存概念

Hadoop中的分布式缓存概念
EN

Stack Overflow用户
提问于 2015-12-08 04:12:55
回答 2查看 436关注 0票数 1

我的问题是专门针对Hadoop的分布式缓存的概念,以及它是否应该被称为分布式缓存。分布式缓存的一个传统定义是“--分布式缓存跨越多个服务器,以便它可以在大小和事务容量方面增加”。

在hadoop中不是这样,因为分布式缓存被分发到所有运行任务的节点,即驱动程序代码中提到的相同文件。

这不应该被称为复制缓存。如果按照传统的分布式缓存定义,那么所有节点上的缓存交集应该为空(或接近它)。但是对于hadoop,交集的结果是相同的文件,该文件存在于所有节点中。

我的理解是正确的还是我遗漏了什么?请指点。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-08 04:35:16

任何Cache的一般理解和概念是使数据在内存中可用,并避免在读取数据时碰到磁盘。因为从磁盘读取数据比从内存读取数据要花费更多。

现在,让我们对Hadoop生态系统进行同样的类比。在这里,磁盘是您的HDFSmemory是本地文件系统,其中运行的是实际任务。在应用程序的生命周期中,可能有多个任务在同一个节点上运行。因此,当第一个任务在节点中启动时,它将从HDFS中获取数据并将其放在本地系统中。现在,同一节点上的后续任务将不再获取相同的数据。这样,它将节省从HDFS获取数据的成本,而从本地文件系统获取数据的成本。Distributed CacheMapReduce框架中的概念。

数据的大小通常足够小,可以加载到Mapper内存中,通常是在很少的MBs中。

票数 1
EN

Stack Overflow用户

发布于 2015-12-12 11:46:17

我也同意这并不是真正的"Distributed cache“。但是,我相信YoungHobbit关于IO操作不访问磁盘的效率的评论。

根据阿帕奇文档,我在这个机制中看到的唯一优点是:

在执行作业的任何任务之前,框架将把必要的文件复制到从节点上。它的效率来源于这样一个事实,即每个作业只复制一次文件,以及在奴隶上缓存未存档的档案的能力。

请注意,自2.6.0发行版以来,DistributedCache已被废弃。您必须在工作类中使用新的API来实现相同的功能。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34147876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档