Liferay 6.2集群中的Lucene复制

时间:2016-02-02 18:37:14

标签: lucene liferay cluster-computing liferay-6 liferay-6.2

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

我应该在一个节点上运行吗?双方?同时还是顺序?

Liferay论坛也提出了这个问题:https://www.liferay.com/community/forums/-/message_boards/view_message/69175435

谢谢!

2 个答案:

答案 0 :(得分:1)

基本上我最初做的是跟随:

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

,结果是 NOT WORKING 复制。

我接下来尝试的是克服这个问题并继续将门户网站的其余部分聚集在一起,最后也帮助了lucene。我的进步是:

  • 部署群集激活密钥
  • 部署ehcache-cluster-web.war
  • portal-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的内容并在控制面板中运行一个节点上的reindaxation

最后,Lucene复制正在工作。我认为可能意义重大的是以下内容。首先,对键lucene.commit.*的portal.properties说明很难理解。通过反复试验,我发现这两个键是AND关系。另外,我发现了在集群中用于多种目的的portal.instance.*个密钥,如果在节点和自动检测之间有负载均衡器和/或Apaches失败,则无关紧要。

答案 1 :(得分:0)

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

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