将 Zookeeper 与 Solr 结合使用,但只有 2 台服务器

2023-12-14

我是 Solr 的新手,正在尝试 SolrCloud - 看来 ZooKeeper 是管理高可用性的最佳方式。

然而,在我们的生产环境中,我们只有两台服务器(主动-主动),我担心 Zookeeper 在两台服务器上并不理想,因为如果其中任何一个出现故障,整个整体就会停止工作。到目前为止的解决方法是在 server1 上运行两个 ZK,在 server2 上运行一个 ZK,这样至少如果 server2 宕机,我们仍然有法定人数(但如果 server1 宕机,游戏就结束了)。

在这种情况下 Solr 的最佳实践/推荐解决方案是什么?它可以在不使用zookeeper的情况下在两台服务器之间使用SolrCloud自动复制/故障转移吗?或者是否有某种方法可以使用 Zookeeper(或其他工具?),以便它在 2 台服务器上保持稳健?或者我是否必须重新使用旧模式复制?

Thanks!


您将需要 2 台以上的服务器。生产 Zookeeper 集合至少需要 3 个实例,并且应始终为奇数:

三个 ZooKeeper 服务器是推荐的最小规模 ensemble,我们还建议它们在单独的机器上运行。

为了获得可靠的 ZooKeeper 服务,您应该将 ZooKeeper 部署在 簇称为集合。只要乐团的大多数人 已启动,该服务将可用。因为 Zookeeper 需要一个 大多数情况下,最好使用奇数台机器。例如, 四台机器的 ZooKeeper 只能处理单台机器的故障 机器;如果两台机器发生故障,则其余两台机器不会发生故障 构成多数。然而,有了五台机器,ZooKeeper 就可以 处理两台机器的故障。

http://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html

在 1 台服务器上运行 2 个实例并不能真正解决问题,因为失去该服务器将会终止集群。 Solr Cloud 需要 Zookeeper - 你无法绕过它。

设置外部 ZooKeeper 整体

尽管 Solr 与 Apache ZooKeeper 捆绑在一起,但您应该考虑 你自己不鼓励在生产中使用这个内部 ZooKeeper, 因为关闭冗余 Solr 实例也会关闭 它的 ZooKeeper 服务器,可能不是那么冗余。因为一个 ZooKeeper ensemble 的法定人数必须超过其服务器的一半 在任何给定时间运行,这都可能是一个问题。

解决这个问题的办法是设置一个外部ZooKeeper 合奏。

https://cwiki.apache.org/confluence/display/solr/Setting+Up+an+External+ZooKeeper+Ensemble

一般来说,尝试用少于 3 台服务器运行真正分布式的大规模处理是一个坏主意 - Zookeeper 并不独特,它要求至少 3 台服务器在服务器发生故障时支持可靠的操作。通常,您需要一定数量的存活服务器 (N/2+1) 才能正常运行,因此您至少需要从 3 台开始。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Zookeeper 与 Solr 结合使用,但只有 2 台服务器 的相关文章

  • 将 json 请求 POST 到 Solr,请求中带有cursorMark

    是否可以包括cursorMarkPOST 请求正文中的值而不是将其作为查询字符串参数发送 以下查询 query val abc limit 10 cursorMark sort id asc 返回一条错误消息 JSON 请求中未知的顶级键
  • Solr 高亮显示

    我看到了这个帖子here https stackoverflow com questions 4058913 how to highlighting search results using apache solr with php cod
  • 加速 solr 索引

    Solr 索引花费的时间太长 我使用的mysql有超过3000万条记录 我正在使用两级子查询 请向我建议索引数据的最佳实践 以便我可以加快该过程 查看Solr性能因素 http wiki apache org solr SolrPerfor
  • solr 中的文本字段排序

    我正在使用 solr 3 4 并希望 solr 搜索结果在文本字段上排序 如何实现像 int 自然排序一样对文本字段进行排序 有没有办法在查询时将文本字段转换为int 我的排序字段是字符串类型 我希望它在排序时表现得像 int 字段 我无法
  • 更改 SOLR 默认连接

    我正在使用嵌入 SOLR 的应用程序 SOLR 在 Tomcat 的 webapp 区域中像一场战争一样运行 是否有 SOLR 配置允许我切换搜索的默认 SOLR 行为以假定 AND 而不是 OR 作为连接运算符 在您的模式文件中添加 或修
  • 对 solr 搜索结果进行排序。给出错误无法对多值字段进行排序:名称

    我对 Apache Solr 搜索比较陌生 我正在尝试对 Solr 查询中的结果集进行排序 查询 名称 abc AND 隐藏 false sort name desc 它显示错误 无法对多值字段进行排序 名称 Solr版本是 7 2 1 如
  • Zookeeper 容错到底意味着什么?同时还是累计?

    正如 ZooKeeper 入门指南 中提到的 容错集群设置至少需要三台服务器 并且强烈建议您拥有奇数数量的服务器 所以如果我有 5 个服务器 如上所述 当其中 2 个服务器失败时我仍然可以生存 但这意味着同时或累积 那么这个怎么样 5 台服
  • DataImportHandler 未在 solr admin 中索引 mysql 表

    我正在尝试使用 DataImportHandler 在 solr 中索引 mysql 表 但它似乎没有索引 数据配置 xml
  • Solr 4.0 中的 BaseTokenFilterFactory 去哪儿了?

    用于创建您自己的标记和字符过滤器的 Solr 文档说明如下 http wiki apache org solr AnalyzersTokenizersTokenFilters Specifying an Analyzer in the sc
  • apache solr:group by 产生的数据总和

    我们有一个要求 需要按特定字段对记录进行分组 并获取相应数字字段的总和 前任 select userid sum click count from user action group by userid 我们尝试使用 apache solr
  • 与恶霸算法相比,高级主选举算法有什么好处?

    我读过当前的主选举算法 如 Raft Paxos 或 Zab 如何在集群上选举主节点 但不明白为什么他们使用复杂的算法而不是简单的恶霸算法 我正在开发一个集群库并使用 UDP 多播来发送心跳消息 每个节点加入一个多播地址 并定期向该地址发送
  • 客户端断开连接后 Solr 查询继续吗?

    我对 Solr 长期运行查询遇到的问题有一个理论 但我不知道它是否正确 也不知道如何测试它 我正在使用 cURL 从应用程序查询 Solr cURL 的配置方式是 如果 Solr 在 3 秒内未发送响应 它将放弃并断开连接 从而允许托管 c
  • Solr PatternReplaceCharFilterFactory 未替换为指定模式

    所以我对 Solr 很陌生 但我尝试使用 PatternReplaceCharFilterFactory 对将存储的电话号码字符串进行一些预处理 这是该字段的配置
  • 如何使用 solrnet 在 solr 中使字段搜索不区分大小写

    在 solr 模式中我有如下字段
  • 连接外部 Accumulo 实例和 java

    我正在尝试使用 Accumulo 连接到虚拟机 问题是 我无法将其连接到 Java 中 我可以看到 Apache 抛出的网页 但我无法让它与代码一起工作 我认为这是缺乏知识的问题而不是真正的问题 但我找不到这方面的文档 所有示例都使用 lo
  • 2n + 1 法定人数是什么意思?

    我在描述 HBase 的 Zookeeper 配置时遇到过这个问题 但我对这个术语并不熟悉 N 与我的 HBase 集群中的节点数量有关系吗 或者我应该在 Zookeeper 集群中使用的节点数量 2f 1是指你所需要的可靠性 可用性水平
  • simplexml_load_file 在 Solr 的 url 中带有 &(与号)

    我正在使用 Solr 并有以下查询 该查询在我的浏览器中运行良好 http www someipaddress com 8983 solr select q fq shopid 40 start 0 rows 18 fq manufactu
  • SOLR - Boost 函数 (bf) 以增加日期最接近 NOW 的文档的分数

    我有一个 solr 实例 其中包含具有 startTime 字段的文档 范围从上个月到一年后 我想添加一个提升查询 函数来提升 startTime 字段接近当前时间的文档的分数 到目前为止 我已经看到很多使用 rord 为较新的文档添加增强
  • Solr 突出显示是否还可以指示返回片段在原始字段内的位置或偏移量?

    背景 使用Solr 4 0 0 我已经对一组示例文档的文本建立了索引并启用了术语向量 以便我可以使用快速向量突出显示
  • 加速 SOLR 搜索

    使用 SOLR Apache Lucene 3 6 时 SOLR 搜索响应非常慢 我正在尝试的一些性能增强技术是 SOLR 分页 mergeFactor 当前在 solrConfig xml 中设置为 10 SOLR 方面查询 solrco

随机推荐

  • oracle.jdbc.OracleDatabaseException: ORA-00972: 标识符太长

    这是我的实体类 Entity public class ProjectDetails Id private int projectId private String projectDescription private int langua
  • jQuery.extend 和 jQuery.fn.extend 之间的区别?

    我试图理解 jquery 插件语法 因为我想将两个插件合并到 一 信号灯还需要能够间隔停止或运行多次 反正 这个语法与以下相同吗 jQuery fn extend everyTime function interval label fn t
  • 自定义 SSL 处理在 Android 2.2 FroYo 上停止工作

    对于我的应用程序 Transdroid 我通过 HTTP 连接到远程服务器 也可以选择通过 HTTPS 安全连接 对于与 HttpClient 的这些 HTTPS 连接 我使用自定义 SSL 套接字工厂实现来确保自签名证书正常工作 基本上
  • VBA COM 互操作问题

    我有一些来自 MSDN 的示例代码 我正在尝试对其进行修改以供使用 但 VBA 编译器拒绝尖括号的内容 lt gt 我在模块中有以下代码 Imports System Imports System Runtime InteropServic
  • java上的rtsp流

    任何人都可以帮我提供有关如何使用 gstreamer 在 java 中实现 RTSP 流媒体服务器的教程 链接文本 RTSP建立过程Server 代码是用 C 编写的 但请查看我的客户端代码以了解如何使用 gstreamer java AP
  • Pygame 使用对象和矩形进行碰撞检测

    是的 我正在问有关该程序的另一个问题 D 不管怎样 我目前有一个程序 可以在屏幕上创建两条线 它们之间有一个可以滚动的间隙 从这里 我显然需要查看两个物体是否发生碰撞 由于我只有一个精灵和一个矩形 我认为为它们创建两个类有点毫无意义和过分
  • Android WebView:在 JavaScript 中处理箭头键

    我有一个简单的 WebView 应用程序 我想用键盘控制它 是否可以在 Javascript 中捕捉箭头键 我尝试过以下代码 但没有任何运气 function handleArrowKeys evt console info key doc
  • 使用 ssh 时出现错误 EOF:找不到命令

    我正在尝试重命名远程服务器中的文件名 例如 filename dirname suffix 并将文件复制到我的服务器 我写过这样的代码 usr bin bash TRANSFERSERVERXMLS emp transfer XMLS RE
  • AngularJS,在显示视图之前解析数据

    这个主题已经被问过 但我不知道在我的情况下该怎么做 Using AngularJS 1 0 5 在显示视图 登录 之前 我想获取一些数据并在未从 AJAX 请求加载数据时延迟视图呈现 这是主要代码 这是好方法吗 angular module
  • 使用递归将嵌套对象重新格式化为字符串数组

    我有以下对象 const modules celebrity actor male male female female director director movie movie user user 结果我想要一个字符串数组 如下所示 c
  • HTML5 画布轮盘赌

    我有这个http jsfiddle net e7fwt4wb html5 canvas 中的轮盘旋转正常运行 当我调用 spin 方法时 轮盘会旋转并停止在我的数字数组中的随机数中 如何调用传递参数的函数以停止在数字数组的某个位置
  • 在 Outlook 电子邮件中包含图片

    我正在尝试使用 Microsoft Word 文档作为 Microsoft Outlook 电子邮件的正文 到目前为止 我已经能够使用以下代码将 Word docx 中的文本包含到电子邮件正文中 if File Exists fileNam
  • 如何在 PrimeFaces 中使用自定义图标?

    PrimeFaces 提供了很多来自 jQuery themeroller 的图标 它们很有用 但我需要为我的应用程序提供一些自定义图标 假设我有一个
  • Selenium Web 驱动程序:提取的 Chrome 浏览器日志不完整

    我正在 Selenium 的帮助下为 Vaadin 应用程序编写浏览器测试 开发实用程序中的 Chrome 浏览器日志控制台显示不同日志级别 TRACE SEVERE WARNING 的日志 以下代码设置我的测试驱动程序 RunOnHub
  • 使用 jQuery 对复杂对象使用 JSON 动态更新 html 表

    我对 JSON jQuery 还很陌生 我需要一些关于如何在客户端动态填充 Html 表的快速指导 我的表有固定的列 但行根据检索的数据动态增长 假设我在服务器上有一个 Web 方法 GetActiveUsers 即 n 个用户正在返回 我
  • 错误:调用中存在无关参数标签“no1:”[重复]

    这个问题在这里已经有答案了 考虑下面给出的代码 class division var count Int 0 func incrementBy no1 Int no2 Int count no1 no2 println count let
  • 在另存为对话框中更改默认文件名

    我正在尝试更改 中建议的文件名 Save As 基于内容控件内容的对话框 我的理解是Word正在提议文档属性 Title 内SaveAs Dialog 在一个空文档中 我创建了一个内容控件 仅限文本 并将以下代码放入 此文档 中 Priva
  • 语义 Web 应用程序 - 使用 BBC Sports 本体

    我正在尝试制作一个关于我所在地区跑步比赛 10k 半程马拉松 马拉松 的语义 Web 应用程序 更具体地说 我想收集和发布 在 RDF 中 有关比赛 参与者和结果的数据 并合并类似的数据 在过去的几周里 我一直在测试 Jena 包括 TDB
  • java 8 中的 Java 内存区域

    我读过很多关于java内存区域的文章 但看起来只是一团糟 主要是由于引入了新的MetaSpace面积而不是PermGen在java8 现在还有疑问 哪些领域是heap包含在java8 中吗 哪里的static方法和变量存储在 java 8
  • 将 Zookeeper 与 Solr 结合使用,但只有 2 台服务器

    我是 Solr 的新手 正在尝试 SolrCloud 看来 ZooKeeper 是管理高可用性的最佳方式 然而 在我们的生产环境中 我们只有两台服务器 主动 主动 我担心 Zookeeper 在两台服务器上并不理想 因为如果其中任何一个出现