问题标签 [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 回答
138 浏览

asp.net - 如何在 ASP.NET MVC 中使用 dache 的 CacheClient?

我正在使用ironyx/dache分布式缓存。
我创建了一个单例对象CacheClient并在当前项目中使用它。

使用 dache 的 CacheClient 或 ... 可以吗?

0 投票
0 回答
868 浏览

ehcache - BigMemory Go 或 EhCache 与 BigMemory Max 在分布式环境和复制方面的区别

谁能帮我理解 ehcache 或 BigMemory GO 和 BigMemory Max 在支持分布式缓存和复制方面的区别?我看到使用 RMIEventListener,ehCache 也支持分布式缓存,而 BigMemory Max 使用 Terracota 服务器阵列。它如何影响性能?这两种技术有什么区别?

0 投票
1 回答
739 浏览

hadoop - 在 Pig StoreFunc 中访问分布式缓存

我已经查看了有关此主题的所有其他主题,但仍然没有找到答案...

简而言之,我想从 Pig StoreFunc 访问 hadoop 分布式缓存,而不是直接从 UDF 中访问。

相关的 PIG 代码行:

相关Java代码:

configName 是我应该能够从分布式缓存中读取的本地文件的名称,但是,我得到了 FileNotFoundException。当我直接在 PIG UDF 中使用完全相同的代码时,会找到该文件,因此我知道该文件是通过分布式缓存传送的。我设置了适当的参数以确保发生这种情况:

有什么想法可以解决这个问题吗?

谢谢!

0 投票
2 回答
4700 浏览

hadoop - Hadoop DistributedCache functionality in Spark

I am looking for a functionality similar to the distributed cache of Hadoop in Spark. I need a relatively small data file (with some index values) to be present in all nodes in order to make some calculations. Is there any approach that makes this possible in Spark?

My workaround so far consists on distributing and reducing the index file as a normal processing, which takes around 10 seconds in my application. After that, I persist the file indicating it as a broadcast variable, as follows:

This makes the program able to understand what the variable globalIndex contains. So far it is a patch that might be okay for me, but I consider it is not the best solution. Would it still be effective with a considerably bigger data-set or a big amount of variables?

Note: I am using Spark 1.0.0 running on a Standalone cluster located at several EC2 instances.

0 投票
1 回答
226 浏览

java - 使用分布式缓存分发小型查找文件的最佳方式

获取分布式缓存数据的最佳方式是什么?

或者

因此,如果我们这样做(代码 2)是否意味着Say we have 5 map task every map task reads the same copy of the data。在为每个地图编写这样的内容时,该任务会多次读取数据,对吗(5次)?

代码 1:因为它是在 setup 中编写的,所以它被读取一次,并且在 map 中访问全局数据。

这是编写分布式缓存的正确方法。

0 投票
0 回答
68 浏览

hadoop - DistributedCache - 在内存中加载文件

hadoop 中是否有任何方法可以在作业开始之前被调用?我想从分布式缓存加载文件。我不能把它放在映射器类的设置方法上,因为我会有很多映射器。我将使用多输入。

我将根据分布式缓存中的文件过滤我的输入。

谢谢!

0 投票
2 回答
753 浏览

caching - 安全分布式缓存的解决方案

问题:我想缓存用户信息,以便我的所有应用程序都可以快速读取数据,但我希望只有一个特定的应用程序能够写入此缓存。

我在 AWS 上,所以我想到的一个解决方案是具有两个端口的 memcached 版本:一个端口仅接受读取命令,一个端口接受读取和写入。然后我可以使用安全组来控制访问。

由于我在 AWS 上,如果有使用开箱即用的 memcached 或 redis 的解决方案,那就太好了。

0 投票
0 回答
539 浏览

ehcache - ehcache 中复制缓存时的编组问题

我正在尝试在单台机器上运行两个节点 ehcahe 集群。我在机器上创建了两个 tomcat 实例,并使用标准的手动对等机制来复制缓存。我在一个应用程序中的 ehcahe .xml 是

properties="peerDiscovery=manual, rmiUrls=//172.19.1.99:50002/messageCache|//172.19.1.99:50002/messagesCache" />

属性=“主机名=本地主机,端口=40001,socketTimeoutMillis=12000” />

在第二台服务器上的端口被互换,但是当我运行这个应用程序时。我总是收到此异常 WARN [net.sf.ehcache.distribution.RMIAsynchronousCacheReplicator]: Unable to send message to remote peer。消息是:RemoteException 在服务器线程中发生;嵌套异常是:java.rmi.UnmarshalException:错误解组参数;嵌套异常是:java.lang.ClassNotFoundException: com.ehcache.nagarroRMI.model.Message(无安全管理器:RMI 类加载器已禁用)

0 投票
1 回答
1052 浏览

hadoop-yarn - 为什么 DistributedCache 将所有文件直接缓存到 Hadoop 2 中 tmp 存储目录的根目录中

我正在将 hadoop 1.0.4 代码迁移到 Hadoop 2.3 平台中,并遇到了 DistributedCache 的奇怪行为变化:

在hadoop 1中,如果我们想缓存一个文件/user/foo/file/bar/name.avro,分布式缓存会将该文件复制到本地缓存文件夹中,并相应地创建相同的子目录。所以文件存储在/[ROOT_OF_TMP_CACHE_DIR]/user/foo/file/bar/name.avro.

现在 Hadoop 2 中的相同代码会将文件直接放在根文件夹中,而无需创建任何子目录。所以现在缓存的文件存储在:/[ROOT_OF_TMP_CACHE_DIR]/name.avro.

如果我们缓存多个文件,尤其是当文件名为part-r-00000.avro.

当然,应用链接并将缓存文件重命名为唯一名称可能是解决此问题的一种方法;但更一般地说,在许多情况下创建唯一名称似乎是微不足道的,尤其是当需要保证不同映射器/减速器之间的唯一名称时。我想知道是否有任何其他方法可以更改此行为,例如在 tmp 目录中创建一个文件夹或调整 mapreduce 配置参数?

我尝试的一种方法是尝试将 URI 设置为“path#path”,因此我们链接到自己,但似乎得到以下异常:

0 投票
1 回答
3250 浏览

hadoop - getCacheFiles() 和 getLocalCacheFiles() 是否相同?

由于不推荐使用getLocalCacheFiles(),因此我正在尝试寻找替代方法。getCacheFiles()似乎是一个,但我怀疑它们是否相同。

当您调用addCacheFile()时,HDFS 中的文件将被下载到每个节点,使用getLocalCacheFiles()您可以获得本地化的文件路径,您可以从本地文件系统中读取它。但是,getCacheFiles()返回的是 HDFS 中文件的 URI。如果您通过此 URI 读取文件,我怀疑您仍然从 HDFS 而不是本地文件系统读取。

以上是我的理解,不知道对不对。如果是这样,有什么替代方法getLocalCacheFiles()?为什么 Hadoop 一开始就弃用它?