[Coherence] Coherence on Exalogic: dealing with the multiple network interfaces

原文はこちら。
https://blogs.oracle.com/csoto/entry/coherence_on_exalogic_dealing_with

先日、EECS(Exalogic Elastic Cloud Software)のアップグレード後、以下のようなエラーメッセージがCoherenceサーバー起動時に出る、という事象に対応しました。
Oracle Coherence GE 3.7.1.8 (thread=Thread-3, member=n/a): Loaded Reporter configuration from "jar:file:/u01/app/fmw_product/wlserver_103/coherence_3.7/lib/coherence.jar!/reports/report-group.xml"
Exception in thread "Thread-3" java.lang.IllegalArgumentException: unresolvable localhost 192.168.10.66 at
com.tangosol.internal.net.cluster.LegacyXmlClusterDependencies.configureUnicastListener(LegacyXmlClusterDependencies.java:199)
...
Caused by: java.rmi.server.ExportException: Listen failed on port: 8877; nested exception is:
java.net.SocketException: Address already in use ...
weblogic.nodemanager.server.provider.WeblogicCacheServer$1.run(WeblogicCacheServer.java:26)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.net.UnknownHostException: 192.168.10.66 is not a local address
at com.tangosol.net.InetAddressHelper.getLocalAddress(InetAddressHelper.java:117)
at
com.tangosol.internal.net.cluster.LegacyXmlClusterDependencies.configureUnicastListener(LegacyXmlClusterDependencies.java:195)
...

Exalogicにはいくつかのネットワークインターフェース(bond/eth 0、1、2など)があることはよく知られていることです。Coherenceがどのインターフェースに接続すべきかを判断する際に利用するロジックでは、tangosol.coherence.localhostパラメータを適切に指定していることを確認することが、(以前のリリースのCoherenceよりもずっと)重要になります。その理由は、具体的には、複数のネットワークインターフェースを持つマシンや、ローカルアドレスをネットマスクとして指定し大規模なクラスタ全体にわたって容易に構成できるような機能強化をサポートするためです。そのIPアドレス(または適切にマッピングされたホストアドレス)から、利用される所望のネットワークインタフェースを簡単に見つけることができます。そうすれば、Coherenceクラスタはうまく動作するはずです。

0 件のコメント:

コメントを投稿