我正在尝试在 Rackspace 的两台服务器上集群我的 liferay 6.1.1 CE 门户。服务器是 windows 2008 R2,下一代云服务器。我提到,因为要使多播工作,我必须在机架空间启用云网络并将其仅连接到下一代服务器。
每台服务器都有三个网络接口:公共、机架空间数据中心、本地私有(云网络)。
我已经按照多篇文章中的所有步骤操作,但由于某种原因,它只是不想在两台服务器之间复制数据缓存。
用于会话复制的 apache/tomcat 配置工作正常。它还使用多播。
我在门户属性文件中启用了以下几行:
cluster.link.enabled=true
cluster.link.autodetect.address=: ---- 我添加了这个,因为如果我不在这里设置本地地址,它看起来会尝试绑定到公共接口......
lucene.replicate.write=true
这里的另一件事是,我们有这个精确的设置在我们的沙盒环境中完美地工作。唯一的区别是沙盒不在机架空间,而是在我们办公室的本地......
请帮忙!
谢谢韦塞尔
因此,如果您拥有连接了私有云网络的下一代服务器,那么机架空间中的多播确实有效。但是,要使 liferay 集群工作,您必须使用 jgroups 而不是 RMI。
下面的几行是您的门户属性文件中需要的,以使 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
还将以下行添加到 setenv.bat 作为 JVM 启动选项的一部分:
-Djgroups.bind_addr=[本地网络IP]