集群中的 Liferay 6.2 Lucene 复制
Liferay 6.2 Lucene replication in cluster
我欢迎任何有关简单问题的帮助:我有集群环境并且我在属性中启用了 Lucene 复制 (lucene.replicate.write=true
)。现在,所有教程都在指导我重新索引 Lucene。
我应该 运行 它在一个节点上吗?双方?同时还是依次?
Liferay 论坛也有人问过这个问题:https://www.liferay.com/community/forums/-/message_boards/view_message/69175435。
谢谢!
有多种方法可以在 Liferay 中配置搜索集群。如果您使用 lucene.replicate.write=true
方式,您将看到多次重建索引运行:每次重新启动服务器时,您都必须重建该服务器的文档索引,因为它可能在停机时错过了索引请求。
所以,简短的回答:别担心,重新索引两者。不管你现在是否只需要一个,迟早你都会这样做。
基本上我最初做的是:
cluster.link.enabled=true
lucene.replicate.write=true
结果是复制失败。
我接下来尝试的是克服这个问题并继续对门户的其余部分进行集群,这最终也帮助了 lucene。我的进步是:
- 部署集群激活密钥
- 部署ehcache-集群-web.war
传送门-ext.properties:
cluster.link.enabled=true
cluster.link.autodetect.address=<COMMONLY_ACCESSIBLE_IP_AND_PORT>
lucene.commit.batch.size=1
lucene.commit.time.interval=5000
lucene.replicate.write=true
ehcache.cluster.link.replication.enabled=true
cluster.link.channel.properties.control=<PATH_TO_XML>
cluster.link.channel.properties.transport.0=<PATH_TO_XML>
portal.instance.protocol=http
portal.instance.http.port=8080
setenv.sh
-Djava.net.preferIPv4Stack=true
-Djgroups.bind_addr=<IP_OF_THE_NODE>
- 通过 Liferay 教程编辑 clusterlink_control 和 clusterlink_transport 文件
- 当服务器关闭时删除 data/lucene 的内容并在控制面板中 运行 在一个节点上重新索引
最后,Lucene 复制正在运行。我认为可能重要的是以下内容。起初,portal.properties 键 lucene.commit.*
的解释有点难以理解。通过反复试验,我发现这两个键是 AND 关系。另外,我发现了 portal.instance.*
键,这些键在集群中用于多种用途,如果您有负载平衡器,这些键可能很重要 and/or 节点之间的 Apache 和自动检测失败。
我欢迎任何有关简单问题的帮助:我有集群环境并且我在属性中启用了 Lucene 复制 (lucene.replicate.write=true
)。现在,所有教程都在指导我重新索引 Lucene。
我应该 运行 它在一个节点上吗?双方?同时还是依次?
Liferay 论坛也有人问过这个问题:https://www.liferay.com/community/forums/-/message_boards/view_message/69175435。
谢谢!
有多种方法可以在 Liferay 中配置搜索集群。如果您使用 lucene.replicate.write=true
方式,您将看到多次重建索引运行:每次重新启动服务器时,您都必须重建该服务器的文档索引,因为它可能在停机时错过了索引请求。
所以,简短的回答:别担心,重新索引两者。不管你现在是否只需要一个,迟早你都会这样做。
基本上我最初做的是:
cluster.link.enabled=true
lucene.replicate.write=true
结果是复制失败。
我接下来尝试的是克服这个问题并继续对门户的其余部分进行集群,这最终也帮助了 lucene。我的进步是:
- 部署集群激活密钥
- 部署ehcache-集群-web.war
传送门-ext.properties:
cluster.link.enabled=true
cluster.link.autodetect.address=<COMMONLY_ACCESSIBLE_IP_AND_PORT>
lucene.commit.batch.size=1
lucene.commit.time.interval=5000
lucene.replicate.write=true
ehcache.cluster.link.replication.enabled=true
cluster.link.channel.properties.control=<PATH_TO_XML>
cluster.link.channel.properties.transport.0=<PATH_TO_XML>
portal.instance.protocol=http
portal.instance.http.port=8080
setenv.sh
-Djava.net.preferIPv4Stack=true
-Djgroups.bind_addr=<IP_OF_THE_NODE>
- 通过 Liferay 教程编辑 clusterlink_control 和 clusterlink_transport 文件
- 当服务器关闭时删除 data/lucene 的内容并在控制面板中 运行 在一个节点上重新索引
最后,Lucene 复制正在运行。我认为可能重要的是以下内容。起初,portal.properties 键 lucene.commit.*
的解释有点难以理解。通过反复试验,我发现这两个键是 AND 关系。另外,我发现了 portal.instance.*
键,这些键在集群中用于多种用途,如果您有负载平衡器,这些键可能很重要 and/or 节点之间的 Apache 和自动检测失败。