【问题标题】:Liferay 6.2 Lucene replication in clusterLiferay 6.2 集群中的 Lucene 复制
【发布时间】:2016-05-11 17:19:00
【问题描述】:

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

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

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

谢谢!

【问题讨论】:

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


    【解决方案1】:

    基本上我一开始做的事情如下:

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

    结果是不工作复制。

    我接下来尝试的是克服这个问题并继续对门户的其余部分进行聚类,这最终也有助于 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 复制正在工作。我认为可能重要的是跟随。首先,portal.properties 对键 lucene.commit.* 的解释有点难以理解。通过反复试验,我发现这两个键是 AND 关系。此外,我还发现了 portal.instance.* 键,它们在集群中用于多种用途,如果节点之间有负载平衡器和/或 Apache 并且自动检测失败,这些键可能很重要。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 感谢奥拉夫的回答!我不得不承认我也在 Liferay 论坛上发布了这个问题,我得到的答案略有不同:liferay.com/community/forums/-/message_boards/view_message/…。根据 Amos 的说法,每个节点在启动时都会自行同步,但您说只有在发生索引更改时两台服务器都处于 UP 状态时,复制才有效。有什么我想念的吗?
      • 请将您的其他帖子也链接到此帖子(并阅读meta.stackexchange.com/questions/141823)。有了这两个答案,自己尝试一下应该很简单。我宁愿安全而不是抱歉,并打开“启动时重新索引”。可能这是旧知识,不再需要了。如果 Amos 声称索引将被同步,他可能是对的。但是您应该可以轻松地对其进行测试。重新启动时查看日志文件。并尝试在服务器 B 关闭时更改服务器 A 上的某些内容后搜索是否有效。
      • 对不起,您对帖子的看法是正确的。我已经添加了两个站点的交叉链接。我一定会测试复制。我问的原因只是为了在编写发布说明时确定。直接从 Liferay 获取有关其工作原理的信息并进行生产实际上似乎更安全。 :)
      猜你喜欢
      • 1970-01-01
      • 2017-11-07
      • 1970-01-01
      • 1970-01-01
      • 2016-01-11
      • 2014-10-20
      • 2014-01-26
      • 1970-01-01
      • 2014-02-18
      相关资源
      最近更新 更多