java - Ignition.ignite 返回 "Grid instance was not properly started or was already stopped"

标签 java scala ignite

我有一个两个节点的 Apache Ignite 集群,但是当我从 scala shell 或在任何机器上运行的 java 程序调用 Ignition.ignite 时,我得到:

org.apache.ignite.IgniteIllegalStateException: Grid instance was not properly started or was already stopped: null

我尝试在 default-config.xml 中命名集群:

<bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
    <property name="gridName" value="grid"/>
</bean>

但这没有用。节点是使用 ignite.sh 启动的,可以看到它们启动正常。

Topology snapshot [ver=2, servers=2, clients=0, CPUs=8, heap=2.0GB]

唯一对我有用的是使用 Ignition.start([default-config.xml]) 然后 Ignition.ignite("grid") 工作;但现在我的机器上运行了第二个实例:

Topology snapshot [ver=3, servers=3, clients=0, CPUs=8, heap=2.2GB]

Ignition.ignite 是否有 bug,或者我还需要做些什么才能使其正常工作?

我正在使用apache-ignite-fabric-1.4.0

最佳答案

您的客户端应用程序还需要启动一个节点。它将加入拓扑并提供与集群的连接。您很可能不希望此节点存储任何数据或执行作业。如果是这种情况,请以客户端模式启动:

Ignition.setClientMode(true);

Ignite ignite = Ignition.start(..);

在此之后,您应该看到此拓扑快照(请注意,仍然有 2 个服务器,但添加了 1 个客户端:

Topology snapshot [ver=3, servers=2, clients=1, CPUs=8, heap=2.2GB]

Ignition.ignite() 方法可用于获取对已启动实例的引用。如果尚未启动,则会抛出 IllegalStateException

关于java - Ignition.ignite 返回 "Grid instance was not properly started or was already stopped",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33755996/

相关文章:

scala - Functor、PointedFunctor、ApplicativeFunctor 和 Monad 的确切应用是什么?

java - apache ignite java瘦客户端过期条目监听器

java - 分页点燃缓存的正确方法是什么?

java - Spring无法使用Value注释注入(inject)属性值

java - 最大独立组重量

scala - 为什么类的第一个参数列表不能是隐式的?

java - 点燃缓存线程安全吗?

java - 无法解析符号导入com.sun.javafx.scene.control.skin.TextFieldSkinAndroid;

java - 使用 Spring 的 SQL 服务器连接问题

scala - 如何在 Play Framework 2.0.x scala 中使用 sbt-jslint?