0

私は 2 ノードの Apache Ignite クラスターをIgnition.ignite稼働させていますが、マシンのいずれかで実行されている scala シェルまたは Java プログラムから呼び出すと、次のようになります。

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")機能することです。しかし今、私のマシンで 2 番目のインスタンスが実行されています。

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

バグがIgnition.igniteありますか、それとも機能させるために他に何かする必要がありますか?

私は使っているapache-ignite-fabric-1.4.0

4

2 に答える 2

4

クライアント アプリケーションもノードを開始する必要があります。トポロジに参加し、クラスターとの接続を提供します。ほとんどの場合、このノードにデータを保存したり、ジョブを実行したりしたくありません。この場合は、クライアント モードで起動します。

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は、スローされます。

于 2015-11-17T19:19:19.787 に答える