0

デフォルトの を使用すると、GridGain ノードはお互いを検出しませんGridTcpDiscoveryMulticastIpFinder

設定方法は?

4

1 に答える 1

1

通常、ノードがお互いを認識できないということは、IP マルチキャストがネットワーク上で適切に機能していないことを意味します。IP マルチキャストを適切に機能させることは、困難な場合があります。GridGain グリッドは、IP マルチキャストを使用して、ノード検出用の IP アドレスを見つけます。GridTcpDiscoveryMulticastIpFinderデフォルトの IP ファインダです。

次のヒントは、IP マルチキャストを有効にするときに役立つ場合があります。

住所

  • IP マルチキャストは ~ の範囲のアドレスを使用します224.0.0.0239.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 アドレスを指定します。

于 2014-02-10T09:40:44.490 に答える