Rackspace の 2 台のサーバーで liferay 6.1.1 CE ポータルをクラスター化しようとしています。サーバーは、Windows 2008 R2、次世代クラウド サーバーです。マルチキャストを機能させるには、ラックスペースでクラウド ネットワークを有効にし、それを次世代サーバーにのみ接続する必要があるためです。
各サーバーには、パブリック、ラックスペース データ センター、ローカル プライベート (クラウド ネットワーク) の 3 つのネットワーク インターフェイスがあります。
複数の記事からすべての手順を実行しましたが、何らかの理由で 2 つのサーバー間でデータ キャッシュを複製したくないだけです。
セッション レプリケーションの apache/tomcat 構成は正常に機能します。また、マルチキャストも使用します。
ポータル プロパティ ファイルで次の行を有効にしました。
cluster.link.enabled=true
cluster.link.autodetect.address=: ---- ここでローカル アドレスを設定しないと、パブリック インターフェイスにバインドしようとするように見えるので、これを追加しました...
lucene.replicate.write=true
ここでのもう 1 つのことは、この正確なセットアップがサンドボックス環境で完全に機能していることです。唯一の違いは、サンドボックスがラックスペースではなく、ローカルのオフィスにあることです...
助けてください!
ありがとうウェッセル
そのため、プライベート クラウド ネットワークが接続された次世代サーバーを使用している場合、ラックスペースでのマルチキャストは機能します。ただし、この liferay クラスタリングを機能させるには、RMI の代わりに jgroups を使用する必要があります。
以下の行は、jgroups キャッシュ レプリケーションをラックスペース Windows サーバーで機能させるために、ポータル プロパティ ファイルに必要なものです。デフォルトの RMI レプリケーションは機能しません:
cluster.link.enabled=true
cluster.link.autodetect.address=[ローカル ネットワーク IP]:[ポート]
ehcache.bootstrap.cache.loader.factory=com.liferay.portal.cache.ehcache.JGroupsBootstrapCacheLoaderFactory
ehcache.cache.event.listener.factory=net.sf.ehcache.distribution.jgroups.JGroupsCacheReplicatorFactory
ehcache.cache.manager.peer.provider.factory=net.sf.ehcache.distribution.jgroups.JGroupsCacheManagerPeerProviderFactory
lucene.replicate.write=true
また、JVM 起動オプションの一部として次の行を setenv.bat に追加します。
-Djgroups.bind_addr=[ローカル ネットワーク IP]