2017-12-04 8 views
2

Payaraクラスタを起動すると、ノードの1つが間違ったIPアドレス(ノードにローカルにインストールされているドッカーの内部IPアドレス)にバインドされます。Payara - Hazelcastクラスタノードが間違ったネットワークインターフェイスを選択します

Payara Clusterインスタンスノードをバインドするアドレスを知る適切な方法は何ですか?

ノード1つのログ:

[2017-12-04T11:35:06.512+0800] [Payara 4.1] [INFO] [] [com.hazelcast.internal.cluster.impl.MulticastJoiner] [tid: _ThreadID=16 _ThreadName=RunLevelControllerThread-1512358500010] [timeMillis: 1512358506512] [levelValue: 800] [[ 
[172.17.0.1]:5900 [dev] [3.8.5] 
Members [1] { 
    Member [172.17.0.1]:5900 - 9be6669e-b853-44c0-9656-8488d3e1031b this 
} 
]] 

ノード2のログ:

[2017-12-04T11:35:06.771+0800] [Payara 4.1] [INFO] [] [com.hazelcast.internal.cluster.impl.MulticastJoiner] [tid: _ThreadID=17 _ThreadName=RunLevelControllerThread-1512358500129] [timeMillis: 1512358506771 [levelValue: 800] [[ 
[10.4.0.86]:5900 [dev] [3.8.5] 
Members [1] { 
    Member [10.4.0.86]:5900 - e3f9dd48-58b9-45f9-88fc-6b0feaedd78f this 
} 
]] 

私は、クラスタ自体をテストして、それが(インストールドッカなし)1つのインターフェイスだけでマシン上で正常に動作します。

私は、私の場合に関連する問題を見つけましたが、ペーシュ・カショーロクラスタのセットアップでそれらを適応することができませんでしたています

意味、使用する提案ローカルプロパティ:-Dhazelcast.local.localAddress=[yourCorrectIpGoesHere] - は動作しますが、ノードの集中管理を伴うクラスタ環境の場合config - それぞれのノードごとに異なるJVMプロパティを設定する方法はありません。

"オーバーライド設定ファイル"を使ってカスタムhazelcast-config.xmlを送信することもできますが、このファイルを使用して完全な設定を行う必要があります。これは管理しにくいものですが、現在はこれが唯一のオプションです潜在的にここで助けることができます。

ありがとうございます!

答えて

2

Payaraサーバーは、この構成オプションを直接公開しません。システムプロパティhazelcast.local.localAddressを使用するのが優先されます。ただし、-Dhazelcast.local.localAddress=...のようにJVMオプションとして設定しないでください。

代わりに、管理コンソールのサーバーページを使用してシステムプロパティを追加してください。 性質に]タブには、システムのプロパティ]タブに移動し、あなたがHazelcastがバインドするインターフェイスのIPアドレスに変数名でhazelcast.local.localAddressオーバーライド値セットを新しいプロパティを追加します。

このように、構成はサーバーの再起動を必要とせずに実行時に適用されます。また、クラスターインスタンスのプロパティーも設定すると、クラスター内の他のインスタンスにも伝達される必要があります。それらの場合、サーバページに行く代わりに、各インスタンスの設定に行き、そこにシステムプロパティを設定します。

+0

ありがとうございました!この種の解決策は私が探していたものです!今すぐクラスタは魅力のように動作します! ;) –

+0

あなたは歓迎です:)多くの人が、システムプロパティを実行時に、設定から読み込むサーバによって設定できることを知っている人はほとんどいません。可能であれば知識を広げる;-) – OndrejM

関連する問題