gpt4 book ai didi

solr - 如何设置具有两个搜索服务器的 Solr Cloud?

转载 作者:行者123 更新时间:2023-12-01 23:05:19 25 4
gpt4 key购买 nike

您好,我正在使用 sunspot solr 开发 Rails 项目并配置 Solr Cloud。我的环境:rails 3.2.1、ruby 2.1.2、sunspot 2.1.0、Solr 4.1.6。

为什么选择 SolrCloud:我需要更稳定的系统 - 通常搜索服务器会进行维护,而 Web 应用程序会停止在生产环境中运行。因此,我考虑如何制作两台相同的搜索服务器而不是一台,以使系统更加稳定:如果一台服务器宕机,另一台服务器将继续工作。

我找不到任何好的教程,简单易懂且描述详细的教程...我正在尝试在两台服务器上设置 SolrCloud,但我不完全了解它的内部工作原理:

  • 在两个服务器之间同步数据(是自动操作吗?)
  • 平衡两个服务器之间的搜索请求
  • 当一台服务器突然停止工作时,其他服务器应该成为主服务器(是自动操作吗?)
  • 除了列出的功能之外,还有 SolrCloud 功能吗?

最佳答案

在这里阅读有关 SolrCloud 的更多信息..! https://wiki.apache.org/solr/SolrCloud

根据我的经验提供的一些意见。

如果您的应用程序只是从 SOLR 读取数据,而不写入 SOLR(实时但您使用 ETL 等进行索引),那么您可以选择主从层次结构。

定义一个主控:- 将所有写入指向此处。如果该主服务器发生故障,您将无法再对数据建立索引

创建 2 个(或更多)从站:- 这是 SOLR 的一项功能,它将根据我们指定的时间间隔(例如每 20 秒)同步来自主站的数据

创建一个基于从属的负载均衡器,并让您的应用程序从负载均衡器读取数据。

优点:通过上述设置,您的主服务器(数据写入)不具有高可用性,但在最后一个从服务器出现故障之前,您将具有数据的高可用性。

缺点:假设一个奴隶宕机了,你在一小时后把它买回来,这个奴隶将落后其他奴隶一小时。因此,在添加回 ELB 之前,需要手动检查其他从站之间的数据一致性。

SolrCloud 怎么样?

  1. 这里没有 Master,因此您也可以实现写入的高可用性
  2. 无需像我上面描述的那样担心数据不一致,SolrCloud 架构会解决这个问题。

什么最适合您。

  1. 定义一个具有 3 个节点 Quorom 的外部 Zookeeper
  2. 定义至少 2 个 SOLR 服务器。
  3. 将当前索引拆分为 2 个分片(默认情况下,每个分片将驻留在步骤 #2 中定义的 2 个 solr 节点中
  4. 将副本定义为 2(这将为每个节点中的分片创建副本)
  5. 定义一个LB来指向上面的solr节点。
  6. 将您的 Solr 输入和应用程序指向此 LB。

通过上述设置,您可以维持任一节点的故障转移。

如果您需要更多相关信息,请告诉我。

问候,

阿尼什·N

-让我们一起学习。

关于solr - 如何设置具有两个搜索服务器的 Solr Cloud?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31766474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com