Solrcloud 多核配置

2024-03-23

我有一个独立的Solr具有 4 个不同内核的实例使用嵌入式 Jetty 服务器运行良好。我为 v4.10.3 配置了核心,但自从我迁移到 v5.1 后,一切似乎都工作正常,无需任何更改。

在投入生产之前,我需要将其设置为Solrcloud 安装,最初有 2 个节点(两台不同的机器),每个节点有 1 个分片(为了简单起见)。我一直在努力让它发挥作用,但我一直没能做到。

我尝试像这样运行它(我认为使用 start.jar 不是首选方式),读到 Solr 将在任何嵌套文件夹中查找多个配置的核心(适用于独立 Solr):

java -DzkRun -DnumShards=2 -Dbootstrap_confdir=solr/ -jar start.jar

但这不起作用,它没有找到所需的solrconfig.xml file.

My Solr directory looks like this: 4 cores Solr folder

我的 solr.xml 文件是标准文件:

<solr>

  <solrcloud>
    <str name="host">${host:}</str>
    <int name="hostPort">${jetty.port:8983}</int>
    <str name="hostContext">${hostContext:solr}</str>
    <int name="zkClientTimeout">${zkClientTimeout:30000}</int>
    <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
  </solrcloud>

  <shardHandlerFactory name="shardHandlerFactory"
    class="HttpShardHandlerFactory">
    <int name="socketTimeout">${socketTimeout:0}</int>
    <int name="connTimeout">${connTimeout:0}</int>
  </shardHandlerFactory>

</solr>

Each core looks like this: a core config

core.properties 只有核心的名称:

name=users

我的问题是:

  • 如何启动 Solrcloud v5.1 以便拾取 4 个核心?

在 SolrCloud 中,您的每个Core将成为一个收藏.

每个集合都有自己的一组配置文件和数据。

您可能会发现这很有帮助将多核 SOLR 实例迁移到云端 http://volodk.blogspot.com/2013/08/moving-multi-core-solr-instance-to-cloud.html

Solr 5.0(以上版本)对如何使用分片创建 SolrCloud 设置以及如何添加集合等进行了一些更改。

下面列出的所有内容都是我对 Solr 参考指南的理解。我强烈建议彻底阅读它。https://cwiki.apache.org/confluence/display/solr/Apache+Solr+Reference+Guide https://cwiki.apache.org/confluence/display/solr/Apache+Solr+Reference+Guide

我在 Linux(CentOS)服务器上设置我的服务器,但这些步骤也可以用于在 Windows 系统上设置 solr。例如,有solr.cmd文件而不是solr.sh

以下是我创建简单的两个分片 SolrCloud 设置所遵循的步骤。

  • 设置动物园管理员整体。我假设您正在尝试使用 在solr中嵌入ZK。对于生产系统来说,它是高度 建议创建一个外部 ZK ensemble。您可以在以下位置找到安装外部集成的步骤本节参考指南 https://cwiki.apache.org/confluence/display/solr/Setting+Up+an+External+ZooKeeper+Ensemble

  • 下载solr到/opt文件夹。

  • 仅提取安装文件。

    tar xzf solr-5.0.0.tgz solr-5.0.0/bin/install_solr_service.sh --strip components=2

  • 该命令将install您系统上的 solr

    sudo bash ./install_solr_service.sh solr-5.0.0.tgz

  • 如果不存在,上面的命令将创建一个名为“solr”的新用户。

  • 这些是它将采用的一些默认选项。您可以在以下位置查看此内容/var/solr/solr.in.sh。这是包含文件,您可以在其中指定其他选项。

        * SOLR_PID_DIR=/var/solr
        * SOLR_HOME=/var/solr/data
        * LOG4J_PROPS=/var/solr/log4j.properties
        * SOLR_LOGS_DIR=/var/solr/logs
        * SOLR_PORT=8983
    
  • Running install_solr_service start在上面的步骤中将启动一个solr服务器。使用停止服务器service solr stop在进行以下任何更改之前。

  • 更改 Java 堆值

    SOLR_HEAP="3g"

    这会将 Xmx 和 Xms 设置为 3GB 。 (选修的) Solr 5.1 中的 solr.in.sh 文件中未提及此变量。这是一个错误,已修复,将在下一个版本中发布。

  • SOLR_MODE="solrcloud" Required

    这就是您在云模式下启动 solr 所需要的。

  • ZK_HOST=ZK1:2181,ZK2:2181,ZK3:2181 Required

    (将 zk 替换为您的 Zookeeper 主机名)

  • 运行install_solr_service.sh命令还会创建一个 init.d 文件,如下所示/etc/init.d/solr

  • This init.d脚本依次调用/opt/solr/bin/solr脚本并包含来自的所有变量/var/solr/solr.in.sh

  • 完成上述更改后,使用以下命令再次启动 solrservice solr start

  • 您可以使用以下命令检查状态service solr status

创建集合分片和副本- 所有与分片、集合、副本相关的命令现在均使用集合 API 进行。

  • 在创建集合之前,应将配置文件夹上传到 ZK 。 这可以使用 solr 文件夹中的 zkcli.sh 脚本来完成(不在 Zookeeper 服务器上) 文件夹:/opt/solr/server/scripts/cloud-scripts

  • 上传config文件夹的命令是

sh zkcli.sh -cmd upconfig -zkhost zk1:2181,zk2:2181,zk3:2181 -confname yourconfigname -confdir /var/solr/configs/conf

您将为 4 个核心分别运行此命令 4 次,每次更改 conf 文件夹的路径和配置名称。

  • 这将上传zookeeper中conf文件夹中名为“yourconfigname”的所有配置文件。

创建集合我使用以下命令创建一个新集合。

快乐搜索!

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

Solrcloud 多核配置 的相关文章

  • SOLR - 过滤器查询中的正则表达式

    我想在 fq 中实现 Regex 但以前从未实现过 我的属性中有以下值 字段类型为 小写 Prop company1 city1 state1 country1 高级分析化学家 芝加哥 我想根据正则表达式过滤结果 正则表达式应该与上面的内容
  • 在具有多个 Web 服务器的现有 .NET / SQL Server 堆栈上实施 Lucene

    我想考虑使用 Lucene 为我当前管理的网站提供全文搜索解决方案 该网站完全基于 SQL Server 2008 C NET 4 技术构建 我要索引的数据实际上非常简单 每个记录只有几个字段 并且只有其中一个字段实际上是可搜索的 我不清楚
  • 复杂的 SOLR 查询,包括 NOT 和 OR

    我对 SOLR 搜索有一些相当复杂的要求 我需要针对标记内容的数据库执行这些搜索 我需要首先过滤数据库以获取与我的过滤器标签匹配的结果 任何具有黑名单中的标签的结果都应被删除 除非它们也包含白名单中的标签 假设我想检索所有标记为 森林 或
  • 如何判断lucene索引版本?

    我正在编写一个 shell 脚本 csh 它必须确定 lucene 索引版本 然后根据该版本将索引升级到下一个版本 所以 如果 lucene 索引是 2 x 我必须将索引升级到 3 x 最后索引需要升级到6 x 由于升级索引是一个顺序过程
  • Solr MoreLikeThis 不适用于多个分片?

    我在 SolrCloud 中有 5 个节点集群 每个节点有 2 个分片 Solr版本 6 3 0 现在 当我运行 mlt 查询时 它仅返回每个节点的结果 并且不会将它们分布在所有分片 节点上 即 没有给出任何结果 给出结果 我什至尝试将其指
  • Solrcloud Zookeper 设置:等待 4000ms 后未找到注册的领导者,集合:c1 切片:shard2

    我使用 solr 4 10 3 我通过 java 中的嵌入式 jetty 服务器启动 solr 我正在尝试使用 2 个分片 领导者 配置 solrcloud 我有一个外部动物园管理员设置 我在启动 solr 时指向动物园管理员实例 如下所示
  • solr + haystack + django 我在哪里放置 schema.xml?

    我刚刚安装Solr and Haystack for a Django我正在做的项目 下列的this http docs haystacksearch org dev tutorial html Haystack教程 我创建了一个 sche
  • cursorMark是无状态的以及它如何解决深度分页

    作为指定here https cwiki apache org confluence display solr Pagination of Results光标标记是无状态的 但我不明白它是如何解决无状态的深度分页问题的 solr 是否按唯一
  • 如何禁用 solr 管理页面

    对于生产来说 拥有一个甚至不要求登录凭据的 solr 管理员感觉不安全 如何禁用默认的 solr 管理页面 我只是希望我的 web 应用程序使用 Solr 进行搜索词索引 我强烈建议保留管理页面用于调试目的 它在很多情况下拯救了我 有多种方
  • 从 Solr Admin 删除 solr 文档

    如何使用 SOLR Admin 删除 SOLR 索引中的所有文档 我尝试使用该网址并且它有效 但想知道是否可以使用管理员来完成相同的操作 使用下面的查询之一DocumentSolr 管理 UI 选项卡 XML
  • 在elasticsearch中转义特殊字符

    我正在使用Elasticsearch python 客户端 https elasticsearch py readthedocs io en master 对我们托管的 elasticsearch 实例进行一些查询 我注意到一些字符需要转义
  • Lucene 标准分析器与 Snowball

    刚刚开始使用 Lucene Net 我使用标准分析器索引了 100 000 行 运行了一些测试查询 并注意到如果原始术语是单数 则复数查询不会返回结果 我知道雪球分析器增加了词干支持 这听起来不错 不过 我想知道 超过标准的雪球锣是否有任何
  • Solr 不搜索整数?

    我目前正在使用 Solr 为电子商务网站开发搜索引擎 所以我在 schema xml 中得到这两个字段
  • 自定义存储库的 Spring Data Solr 优先级

    我需要在 Spring Data Solr 自定义存储库中实现以下内容 X 或 Y 和 Z 我当前的代码如下 Criteria criteria new Criteria x is X VALUE criteria criteria or
  • Solr 突出显示是否还可以指示返回片段在原始字段内的位置或偏移量?

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

    我的 lucene 索引已索引纬度和经度字段 如下所示 doc Add new Field latitude latitude ToString Field Store YES Field Index UN TOKENIZED doc Ad
  • Solr 错误 - 流主体被禁用

    我正在从浏览器 URL 中删除文档 我正在使用 Solr 7 4 0 我正在使用此查询来删除文档 http localhost 8983 solr test update stream body
  • 加速 SOLR 搜索

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

    我有 Lucene 索引 其中包含城市名称 考虑我想搜索 新德里 我有字符串 New Del 我想将其传递给 Lucene 搜索器 并且我期望输出为 New Delhi 如果我生成类似 Name New Del 的查询 它将为我提供所有带有
  • Solr协会

    最近几天我们正在考虑使用 Solr 作为我们选择的搜索引擎 我们需要的大多数功能都是开箱即用的或者可以轻松配置 然而 我们绝对需要的一项功能似乎在 Solr 中被很好地隐藏 或缺失 我将尝试用一个例子来解释 我们有很多实际上是企业的文件

随机推荐