问题标签 [distributed-cache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2392 浏览

caching - 如何在hadoop map reduce作业中有效地缓存大文件?

我的工作流程如下:

我正在处理大量数据。我有一个MapFile需要缓存的。这个文件的大小现在是 1 GB,但我希望它最终会增长。

MapFile 的内容是这样的:

  • 在 中map-phase,我处理来自输入文件的每条记录TextInputFormat。我解析该行(由标记分割)并检索前两个标记,token1 和 token2。

如果 (token1,token2) 对不在缓存文件中,那么我调用 API,获取信息,保存在缓存中(如果可能)并继续处理。

我在这里看到的主要问题是

  1. 如何在所有节点的缓存中获取大文件。DistributedCache 通过将文件复制到本地节点来工作。但由于这个文件更大,这里涉及到网络流量,对于我的日常工作,我不想继续分发它。

  2. 如何高效查找 MapFile(cache),整个 mapFile 不会在内存中。

  3. 如何写入作为我的缓存的 MapFile。

谢谢

0 投票
1 回答
163 浏览

hadoop - Google File System中Hadoop分布式文件系统的分布式缓存有什么类似的功能

我在Google Compute Engine中部署了一个 6 节点的Hadoop 集群

我使用的是Google 文件系统(GFS) 而不是Hadoop 文件分发系统(HFS)。
. 因此,我想以与 HDFS 中的分布式缓存方法相同的方式访问GFS中的文件

请告诉我一种以这种方式访问​​文件的方法。

0 投票
0 回答
140 浏览

hazelcast - Hazelcast 分布式地图

我们的应用程序中有一个 Hazelcast 分布式缓存。缓存在低负载下表现良好,但当负载和网络延迟变高时,缓存在节点之间变得不同步。以前有人观察过这种行为吗?我在本地机器上使用了两个节点。

0 投票
2 回答
267 浏览

hadoop - Hadoop:什么时候在 reducer 中调用 setup 方法?

据我了解,reduce 任务分为三个阶段。

Shuffle、Sort 和实际的 reduce 调用。

所以通常在 hadoop 作业的输出中,我们会看到类似 map 0% reduce 0% map 20% reduce 0% 的内容。. . 地图 90% 减少 10% 。. .

所以我假设reduce任务在所有映射完成之前开始,这种行为由慢启动配置控制。

现在我还不明白reducer的setup方法是什么时候真正被调用的。

在我的用例中,我有一些文件要在 setup 方法中解析。该文件大小约为 60MB,是从分布式缓存中提取的。在解析文件时,配置中的另一组数据可以更新刚刚解析的记录。在解析和可能的更新之后,文件存储在 HashMap 中以便快速查找。所以我希望尽快调用这个方法,可能在映射器还在做他们的事情的时候。

是否有可能做到这一点?或者这已经发生了?

谢谢

0 投票
1 回答
251 浏览

hadoop - FileNotFoundException 但文件存在

我在尝试读取添加到分布式缓存的文件时在 Hadoop 中遇到此异常,奇怪的是该文件存在于给定位置

我在使用开始工作之前添加文件

我正在尝试从我的映射器中的设置方法中读取文件,使用

正如我所说,我可以确认该文件在本地系统上,但是抛出了异常。

我在一台计算机上以伪分布式模式运行该作业。

有任何想法吗?

谢谢

0 投票
1 回答
190 浏览

distributed-caching - 什么是 Dache 中的 SlidingExpiration 时间跨度?

SlidingExpirationDache 中 AddOrUpdate 方法中的时间跨度到底是什么?
使用更好SlidingExpiration还是AbsoluteExpiration
我的意思是有什么区别?

0 投票
0 回答
132 浏览

caching - 是否可以从 Hadoop Partitioner 中的分布式缓存中获取对象?

Hadoop 的分布式缓存允许开发人员将小文件添加到 MR 上下文中,这些文件可用于在 Map 或 Reduce 阶段获取附加信息。但是,我没有找到在Partitioner. 我需要自定义中的一个小文件(早期 MR 作业的输出)的内容Partitioner来确定如何将密钥发送到减速器。

不幸的是,我找不到任何有用的文档,我目前唯一的想法是一种有点“hackish”的方法,它涉及将文件的内容序列化为 Base64 字符串并将其放入Configuration. Configuration通过让 s 实现 s 可以在分区器中使用它Configurable。虽然文件对于这种方法来说足够小(大约 50KB),但我认为分布式缓存更适合这种方法。

编辑: 我发现了另一种我认为稍微好一点的方法。由于我需要在分区器中访问的文件位于 HDFS 上,因此我将其完全限定URIConfiguration. 然后,在我PartitionersetConf方法中,我可以通过重新创建路径new Path(new URI(conf.get("some.file.key")))并在Configuration. 虽然仍然很hackish...

0 投票
1 回答
1016 浏览

hazelcast - Hazelcast - OperationTimeoutException

我正在使用 Hazelcast 3.3.1 版。
我有一个使用 c3.2xlarge 服务器在 aws 上运行的 9 节点集群。
我正在使用分布式执行器服务和分布式地图。
分布式执行器服务使用单线程。分布式映射配置为无复制和无近缓存,并使用 Kryo 序列化程序存储大约 100 万个大小为 1-2kb 的对象。
我的用例如下:

  • 所有 9 个节点不断在分布式执行器服务上执行同步远程操作,每秒产生约 20k 次命中(每个节点约 ~2k)。
  • 使用 Hazelcast API 执行调用:com.hazelcast.core.IExecutorService#executeOnKeyOwner。
  • 每个操作访问拥有分区的节点上的分布式映射,使用存储的对象进行一些计算并将对象存储到映射中。(为此,我使用 IMap 对象的 get 和 set API)。

每隔一段时间,Hazelcast 就会遇到超时异常,例如:
com.hazelcast.core.OperationTimeoutException: No response for 120000 ms。中止调用!BasicInvocationFuture{invocation=BasicInvocation{ serviceName='hz:impl:mapService', op=GetOperation{}, partitionId=212, replicaIndex=0, tryCount=250, tryPauseMillis=500, invokeCount=1, callTimeout=60000, target=Address[ 172.31.44.2]:5701, backupsExpected=0, backupsCompleted=0}, response=null, done=false} 没有收到响应!备份预期:0 备份完成:0

在某些情况下,我看到地图分区开始迁移,这让事情变得更糟,节点不断地离开并重新加入集群,我可以克服这个问题的唯一方法是重新启动整个集群。

我想知道是什么可能导致 Hazelcast 阻止地图获取操作 120 秒?
我很确定这与网络无关,因为同一服务器上的其他服务运行良好。另请注意,服务器大多处于空闲状态(~70%)。

对我的用例的任何反馈将不胜感激。

0 投票
1 回答
926 浏览

mapreduce - 在 map -reduce 中读取多个文件到分布式缓存

我目前正在尝试将两个文件添加到分布式缓存。但是,当我尝试读取它时,第二个文件正在读取与第一个文件相同的数据,尽管这两个文件包含完全不同的数据。知道为什么会这样吗?

0 投票
1 回答
414 浏览

apache-pig - Pig 分布式缓存

getShipFilesgetCacheFiles在课堂上有什么区别EvalFunc

假设此方法中指定的任何文件都可用于exec分布式缓存中的方法