问题标签 [gridgain]

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 投票
12 回答
25986 浏览

java - 为您的应用程序启用网格/集群的最佳 Java 库是什么?

这是在服务器集群上运行应用程序的能力,目的是分配负载并提供额外的冗余。

我看过GridGain的演示文稿,我对它印象深刻。

知道其他人吗?

0 投票
1 回答
578 浏览

java - Gridgain 执行器服务

使用 GridGain 的 GridExecutorService 远程执行作业与使用 @Gridify 注释相比有什么优势?

您可以将 java.lang.concurrent.ExecutorService 的实例传递给您的类,并且不依赖于网格框架,但是您会失去任何功能吗?

0 投票
3 回答
19130 浏览

java - 释放 java 文件句柄

我们有一个用 Java 编写的相当大而复杂的应用程序,它运行在 Gridgain 包之上。我遇到的问题是,在每个请求开始之前,此应用程序将在那里处理请求大约一天,从而导致 java.nio.channels.ClosedByInterruptException 类型的异常。

我的假设是应用程序没有释放文件句柄,并且在连续使用一天后它耗尽并且不能再继续处理请求(每个请求都需要从每个网格节点读取多个文件)。我们已经将大部分文件 IO 操作包装在诸如此类的类中

我认为问题在于这种设计没有明确释放文件句柄,我提出的解决方案是添加这样的 finalize 方法

这将明确地做到这一点。问题(最后)是这是否可能产生任何影响。诸如 java.io.BufferedReader 之类的类是否已经具有处理此类问题的某种机制?

编辑:这里也非常感谢检查这是否真的是问题的方法......即有没有办法查询正在运行的JVM并询问它的文件句柄分配?

0 投票
1 回答
390 浏览

java - Java Gridgain 应用程序在 1 天的压力测试后开始失败

所以我有一个在 gridgain 之上运行的应用程序,并且在它开始变得有趣之前,它在大约 12-24 小时的压力测试中非常成功。在这段时间之后,应用程序将突然开始回复所有查询,异常 java.nio.channels.ClosedByInterruptException (完整的堆栈跟踪位于http://pastie.org/664717

失败的方法是(编辑为使用@stephenc 反馈

并且调用函数正确关闭对象

该应用程序基本上用作分布式文件解析器,因此它执行大量此类操作(通常每个节点的每个查询打开大约 10 个此类通道)。似乎在一段时间后它不再能够打开文件,我无法解释为什么会发生这种情况,并且非常感谢任何能告诉我可能导致这种情况以及如何进行跟踪的人它下来并修复它。如果它可能与文件句柄耗尽有关,我很想听听任何提示以确保确定...即在 JVM 运行时查询它或使用 linux 命令行工具来了解有关当前打开的句柄的更多信息.

更新:我一直在使用命令行工具来询问 lsof 的输出,并且无法看到任何文件句柄处于打开状态的证据......网格中的每个节点都有一个非常稳定的打开文件配置文件我可以看到在执行上述代码时发生了变化......但它总是返回到稳定数量的打开文件。

与此问题相关:释放 java 文件句柄

0 投票
1 回答
571 浏览

java - 构建或购买计算网格平台更好?

我希望为字符串匹配做一些处理器密集型的蛮力处理。我在多线程环境中运行了我的原型,并将性能与使用 Gridgain 和几个节点(也是多线程)的实现进行了比较。

我观察到的性能是我的 Gridgain 实现比我的多线程实现执行得更慢。可能是我的 gridgain 实现存在缺陷,但这只是一个原型,我认为结果具有指示性。所以我的问题是:

必须学习然后为特定网格平台(hadoop、gridgain 或 EC2,如果托管 - 欢迎其他建议)构建实现的优势是什么,当人们可以相当容易地将轻量级计算网格平台与更浅的学习曲线?...即我们可以通过这些值得拥有/难以实施的云/网格平台免费获得什么?

(请注意,我不需要数据网格)

干杯,

-詹姆士

(如果需要的话,很高兴制作这个社区维基)

0 投票
2 回答
496 浏览

parallel-processing - 使用 GridGain 连接到网格集群

我知道 GridGain 通过多播连接到其他客户端开箱即用,但是有没有办法将 GridGain 配置为接受本地网络之外的连接?还有一种方法可以为通信启用加密吗?

0 投票
2 回答
740 浏览

eclipse - Running Eclipse Scala Plugin with previous version of Scala

The scala plugin seems to automatically download version 2.8 of Scala. I'l like to try out the Gridgain 3.0-beta, which currently only works with Scala 2.7.7. Since Gridgain 3.0-beta already provides scala-compiler-2.7.7.jar and scala-library-2.7.7.jar, is it possible to get the Eclipse Scala Plugin to compile to Scala 2.7.7?

I tried removing the Scala Library 2.8 from the project build path and added both the 2.7 jars, but this didn't seem to work.

Would this be easier if I switched to Netbeans?

0 投票
2 回答
1004 浏览

scala - 比一台机器上的多线程应用程序慢的 GridGain 应用程序

我已经实现了我的第一个 GridGain 应用程序,但没有得到预期的性能改进。可悲的是它更慢。我需要一些帮助来改进我的实现,以便它可以更快。

我的应用程序的要点是我正在使用数百万个可能的参数进行蛮力优化,每个函数评估只需几分之一秒。我通过将数百万次迭代分成几个组来实现这一点,每个组都作为一个作业执行。

相关的代码如下。函数 maxAppliedRange 为范围 x 中的每个值调用函数 foo,并返回最大值,结果成为每个作业找到的所有最大值中的最大值。

我的代码可以在一台机器上的多线程执行之间进行选择,也可以使用上面的代码使用多个 GridGain 节点。当我运行 gridgain 版本时,它一开始会变得更快,但是总会发生一些事情:

  • 其中一个节点(在另一台机器上)错过了心跳,导致我的主计算机上的节点放弃该节点并再次开始执行作业。
  • 错过心跳的节点继续做同样的工作。现在我有两个节点在做同样的事情。
  • 最终,所有作业都在我的主机上执行,但由于某些作业开始较晚,因此完成所有作业需要更长的时间。
  • 有时GridGain会抛出异常,因为节点超时并且整个任务失败。
  • 我很生气。

我尝试将它设置为有很多作业,所以如果一个失败了,那也没什么大不了的,但是当我这样做时,我最终会在每个节点上执行许多作业。这给每台机器带来了更大的负担,使得节点更有可能错过心跳,从而导致一切更快地走下坡路。如果我每个 CPU 有一个作业,那么如果一个作业失败,则必须从头开始另一个节点。反正我赢不了。

我认为最好的方法是如果我能做两件事:

  • 增加心跳的超时时间
  • 限制每个节点,使其一次只执行一项工作。

如果我能做到这一点,我可以将我的任务分成许多工作。每个节点一次只做一项工作,没有机器会因为负担过重而错过心跳。如果一项工作失败,那么几乎不会丢失任何工作,并且恢复会很快。

谁能告诉我该怎么做?我应该在这里做什么?

0 投票
1 回答
283 浏览

scala - GridGain / Scala - 在现有作业中生成作业

作为概念证明,我正在构建这个极其简单的 Twitter Friends 爬虫。下面是它的作用:

  1. 为 Twitter 帐户“twitter-user-1”执行 CrawlJob
  2. 查找“twitter-user-1”的所有朋友
  3. 为“twitter-user-1”的所有好友执行 CrawlJob

这是我的代码到目前为止的样子:

我为所有 twitter 交互准备了 Java 服务。需要一些示例来弄清楚如何在现有作业中创建新作业并将其与原始任务相关联。

谢谢 | 斯里兰甘

0 投票
1 回答
389 浏览

mapreduce - 主(发送方)节点的 Gridgain 故障转移

我正在处理批处理问题。解决方案需要处理故障硬件。

有主节点(启动任务执行)和执行作业的工作节点。我知道工作节点的故障转移是如何工作的,但我找不到有关主节点故障转移的任何信息。每当启动任务的主节点失败时,整个任务都会被取消。

那么有没有办法完成任务处理呢?

您能否建议实现主节点故障转移的最佳方法?

亲切的问候,库巴