デフォルトの を使用すると、GridGain ノードはお互いを検出しませんGridTcpDiscoveryMulticastIpFinder
。
設定方法は?
通常、ノードがお互いを認識できないということは、IP マルチキャストがネットワーク上で適切に機能していないことを意味します。IP マルチキャストを適切に機能させることは、困難な場合があります。GridGain グリッドは、IP マルチキャストを使用して、ノード検出用の IP アドレスを見つけます。GridTcpDiscoveryMulticastIpFinder
デフォルトの IP ファインダです。
次のヒントは、IP マルチキャストを有効にするときに役立つ場合があります。
住所
224.0.0.0
。239.255.255.255
[0-9].0.0.1
は使用しないでくださいファイアウォール
ほとんどのオペレーティング システムには、デフォルトで設定されたソフトウェア ファイアウォールが付属しています。すでにハードウェア ファイアウォールを使用している場合、オペレーティング システムに付属しているファイアウォールは必要ない可能性が高くなります。無効にして、IP マルチキャストが機能し始めるかどうかを確認してください。
オペレーティング システム ファイアウォールを無効にすることができない場合は、IP マルチキャスト パケットを受け入れて適切にルーティングするようにファイアウォールを構成する必要があります。
SELinux と iptables
少なくとも Fedora Core 9 では、デフォルトの SELinux 設定ではマルチキャストが機能しないことに気付きました。したがって、それを機能させるには、SELinux を適切に構成するか、無効にする必要があります。
また、コンピューターがインターネットに直接公開されていない (ルーターまたはファイアウォールの背後にある) 場合は、Linux でサービスを無効にすることをお勧めしiptables
ますip6tables
。
IP マルチキャスト ルートの追加
システムには、IP マルチキャスト トラフィック用に少なくとも 1 つのルートが必要です。すべてのマルチキャスト トラフィックのルートを追加して、正しいものを使用できます (Linux の例)。
route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
複数の IP マルチキャスト アプリケーションがある場合は、特定の IP マルチキャスト アドレスのルートを構成する必要があることに注意してください。
IPv4 と IPv6
IPv6 対応の OS を使用している場合、Java アプリケーションは IP マルチキャスト トラフィックを IPv6 経由でルーティングしようとする場合があります。java.net.preferIPv4Stack=true
これを防ぐには、システム プロパティを使用します。
ローカルネットワーク
ネットワークがインストールされていない場合、ほとんどの場合、IP マルチキャスト パケットは、おそらくそれらをブロックしている ISP ルーターにルーティングされます。ローカル ボックスでループバック IP マルチキャストを有効にして、ローカル ボックスで起動された複数のグリッド ノードが相互に認識できるようにしてください。
複数のインターフェース
この問題は主に JGroups で見られます。/etc/hosts/
オペレーティング システム ( Unix/Linux など)のホスト ファイルに IP アドレスを追加して、ネットワークを再起動してみてください。GridTcpDiscoverySpi
また、JGroups 構成ファイルまたはグリッドの開始に使用している SPI に応じて、ローカル バインド構成パラメーターとしてローカル IP アドレスを指定します。