0

我欢迎任何关于简单问题的帮助:我有集群环境,并且我在属性 ( lucene.replicate.write=true) 中启用了 Lucene 复制。现在,所有的教程都在指导我重新索引 Lucene。

我应该在一个节点上运行它吗?双方?同时还是依次?

Liferay 论坛中也有人问过这个问题:https ://www.liferay.com/community/forums/-/message_boards/view_message/69175435 。

谢谢!

4

2 回答 2

1

基本上我一开始做的是:

  • cluster.link.enabled=true
  • lucene.replicate.write=true

结果是不工作的复制。

我接下来尝试的是克服这个问题并继续对门户的其余部分进行聚类,这最终也有助于 lucene。我的进步是:

  • 部署集群激活密钥
  • 部署 ehcache-cluster-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
  • 设置环境文件

    • -Djava.net.preferIPv4Stack=true
    • -Djgroups.bind_addr=<IP_OF_THE_NODE>
  • 通过 Liferay 教程编辑 clusterlink_control 和 clusterlink_transport 文件
  • 当服务器关闭时删除数据/lucene 的内容并在控制面板中在一个节点上运行 reindaxation

最后, Lucene复制正在运行。我认为可能重要的是跟随。首先,portal.properties 对键lucene.commit.*的解释有点难以理解。通过反复试验,我发现这两个键是 AND 关系。此外,我发现了portal.instance.*在集群中用于多种用途的密钥,如果节点之间有负载均衡器和/或 Apache 并且自动检测失败,这些密钥可能很重要。

于 2016-03-04T12:11:56.530 回答
0

在 Liferay 中有多种配置搜索集群的方法。如果您使用这种lucene.replicate.write=true方式,您正在查看多次重新索引运行:在每次重新启动服务器时,您必须重新索引该服务器的文档,因为它可能在停机时错过了索引请求。

所以,简短的回答:别担心,重新索引两者。不管你现在是否只需要一个,迟早你都会这样做。

于 2016-02-03T08:16:16.410 回答