gridgain:如何在同一个jvm中运行多个节点?

ktecyv1j  于 2021-05-30  发布在  Hadoop
关注(0)|答案(2)|浏览(344)

我试图理解如何使用内存加速器在单个jvm上下文中使用gridgain运行hadoop应用程序。
我在这里看到了一些关于如何通过编程实现的提示。但是,在eclipse中尝试运行此示例后,出现了以下错误:

Exception in thread "main" class org.gridgain.grid.GridIllegalStateException: Grid instance was not properly started or was already stopped: jvm-node-0
at org.gridgain.grid.kernal.GridGainEx.grid(GridGainEx.java:995)
at org.gridgain.grid.GridGain.grid(GridGain.java:395)
at test.GridJvmCloudExample.main(GridJvmCloudExample.java:66)

我所做的唯一修改是将第38行改为 GridConfiguration cfg = new GridConfiguration(); . 知道我能做什么吗?必须说,当时没有运行任何其他节点。
但我的目标是使用脚本。换句话说,以bin/ggstart.sh的形式运行gridgain,启动共享同一jvm的多个节点。有什么办法吗?我使用的版本是6.6.4。
提前谢谢!

f45qwnt8

f45qwnt81#

另外,我建议迁移到aapcheignite,因为gridgain开源版本是捐赠给asf的。

cu6pst1q

cu6pst1q2#

我试着运行这个例子,它对我很有用。这个错误实际上意味着至少有一个节点 jvm-node-0 )没有开始。我认为在启动过程中出现了一些异常,但没有显示,因为它是在线程池中执行的。我建议你围起来 G.start(cfg) 使用try catch调用并打印堆栈跟踪。
至于从脚本开始,您可以创建自己的主类,该类将启动您需要的节点(如示例中所示),并将其全名设置为 MAIN_CLASS 环境变量。 ggstart.sh 将自动使用它,而不是默认的主类,它总是启动每个虚拟机只有一个节点。

相关问题