GridGain:如何在同一个 JVM 中 运行 多个节点?
GridGain: How to run multiple nodes in the same JVM?
我正在尝试了解如何 运行 Hadoop 应用程序在单个 JVM 上下文中使用内存加速器使用 Gridgain。
我已经看到一些关于如何以编程方式完成此操作的提示,如 here 中所示。然而,在尝试 运行 这个例子后,出现了这个错误:
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();
。我能做什么的任何线索?必须要说的是当时 运行 没有任何其他节点。
但我的 objective 是使用脚本。换句话说 运行 GridGain 为 bin/ggstart.sh,启动共享同一 JVM 的多个节点。有什么办法吗?我使用的版本是 6.6.4.
提前致谢!
我试着 运行 这个例子,它对我有用。这个错误实际上意味着至少有一个节点(名称为 jvm-node-0
的节点)没有启动。我认为在启动期间有一些异常没有显示,因为它是在线程池中执行的。我建议用 try-catch 围绕 G.start(cfg)
调用并打印堆栈跟踪。
至于从脚本开始,您可以创建自己的主 class 它将启动您需要的节点(就像在示例中所做的那样)并将其全名设置到 MAIN_CLASS
环境变量中。 ggstart.sh
将自动使用它而不是默认的 main class,它始终只为每个 VM 启动一个节点。
此外,我建议迁移到 Aapche Ignite,因为 GridGain 开源版本已捐赠给 ASF。
我正在尝试了解如何 运行 Hadoop 应用程序在单个 JVM 上下文中使用内存加速器使用 Gridgain。
我已经看到一些关于如何以编程方式完成此操作的提示,如 here 中所示。然而,在尝试 运行 这个例子后,出现了这个错误:
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();
。我能做什么的任何线索?必须要说的是当时 运行 没有任何其他节点。
但我的 objective 是使用脚本。换句话说 运行 GridGain 为 bin/ggstart.sh,启动共享同一 JVM 的多个节点。有什么办法吗?我使用的版本是 6.6.4.
提前致谢!
我试着 运行 这个例子,它对我有用。这个错误实际上意味着至少有一个节点(名称为 jvm-node-0
的节点)没有启动。我认为在启动期间有一些异常没有显示,因为它是在线程池中执行的。我建议用 try-catch 围绕 G.start(cfg)
调用并打印堆栈跟踪。
至于从脚本开始,您可以创建自己的主 class 它将启动您需要的节点(就像在示例中所做的那样)并将其全名设置到 MAIN_CLASS
环境变量中。 ggstart.sh
将自动使用它而不是默认的 main class,它始终只为每个 VM 启动一个节点。
此外,我建议迁移到 Aapche Ignite,因为 GridGain 开源版本已捐赠给 ASF。