SolrCloud:无法创建集合、锁定问题

2024-04-14

我一直在尝试实现 SolrCloud,一切正常,直到我尝试创建包含 6 个分片的集合。我的设置如下:

  • 5 个虚拟服务器,全部运行 Ubuntu 14.04,由一家公司跨不同数据中心托管
  • 为整体运行 ZooKeeper 3.4.6 的 3 台服务器
  • 2台服务器,每台运行Solr 5.1.0服务器(Jetty)
  • 每个 Solr 实例都有一个用于索引的 2TB ext4 辅助磁盘,安装在 /solrData/Indexes 处。我将此值设置为solrconfig.xml via <dataDir>/solrData/Indexes</dataDir>,并将其上传到 ZooKeeper ensemble。请注意,这些辅助磁盘既不是 NAS 也不是 NFS,我知道这可能会导致问题。这solr用户拥有/solrData.

所有服务器内通信均通过私有 IP 进行,因为所有服务器均由同一家公司托管。我使用 iptables 作为防火墙,并且端口已打开并且所有服务器都可以成功通信。配置上传到 ZooKeeper 成功,我可以通过 Solr 管理界面看到两个节点都可用。

当我尝试使用以下命令创建集合时,问题就开始了:

http://xxx.xxx.xxx.xxx:8983/solr/admin/collections?action=CREATE&name=coll1&maxShardsPerNode=6&router.name=implicit&shards=shard1,shard2,shard3,shard4,shard5,shard6&router.field=shard&async=4444

通过 Solr UI 日志记录,我看到同时发出多个索引创建命令,如下所示:

6/25/2015, 7:55:45 AM WARN SolrCore [coll1_shard2_replica1] Solr index directory '/solrData/Indexes/index' doesn't exist. Creating new index...
6/25/2015, 7:55:45 AM WARN SolrCore [coll1_shard1_replica2] Solr index directory '/solrData/Indexes/index' doesn't exist. Creating new index...

最终任务被报告为完成,但在日志中,我有锁定错误:

Error creating core [coll1_shard2_replica1]: Lock obtain timed out: SimpleFSLock@/solrData/Indexes/index/write.lock
SolrIndexWriter was not closed prior to finalize(),​ indicates a bug -- POSSIBLE RESOURCE LEAK!!!
Error closing IndexWriter

如果我查看云图,可能会创建几个分片,其他分片已关闭或正在恢复,如果我重新启动 Solr,则没有一个核心可以启动。

现在,我知道你要说什么:跟随这个帖子 https://stackoverflow.com/questions/2895417/solrexception-internal-server-error/3035916#3035916并改变solrconfig.xml锁定设置为此:

<unlockOnStartup>true</unlockOnStartup>
<lockType>simple</lockType>

我这样做了,并且没有任何影响。因此就有了这个问题。我即将不得不将单个 Solr 实例发布到生产中,但我讨厌这样做。有人知道如何解决这个问题吗?


根据您提供的日志条目,Solr 可能正在同一文件夹中为每个分片创建数据(索引)目录。

 Solr index directory '/solrData/Indexes/index' doesn't exist. Creating new index...

此消息针对两个不同的集合显示,并且引用相同的位置。我通常做的是将我的 Solr Home 更改为不同的目录,在该目录下将创建所有集合“实例”内容。然后,我手动编辑每个分片的 core.properties 以指定索引数据的位置。

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

SolrCloud:无法创建集合、锁定问题 的相关文章

  • 复杂的 SOLR 查询,包括 NOT 和 OR

    我对 SOLR 搜索有一些相当复杂的要求 我需要针对标记内容的数据库执行这些搜索 我需要首先过滤数据库以获取与我的过滤器标签匹配的结果 任何具有黑名单中的标签的结果都应被删除 除非它们也包含白名单中的标签 假设我想检索所有标记为 森林 或
  • Solr 中缺少强制 uniquekey 字段错误

    我的项目中有这个问题 我使用 Apache Poi 读取 xlsx excel 文件 并且想在 Solr 核心中对它们进行索引 我使用 SolrInputDocument 来索引读取文件 这是我的java代码 package org sol
  • Solr:在带有空格的字符串上使用通配符

    我的问题与这里讨论的问题基本相同 带空格的 Solr 通配符查询 https stackoverflow com questions 10023133 solr wildcard query with whitespace 但这个问题没有得
  • Solr PatternReplaceCharFilterFactory 未替换为指定模式

    所以我对 Solr 很陌生 但我尝试使用 PatternReplaceCharFilterFactory 对将存储的电话号码字符串进行一些预处理 这是该字段的配置
  • 连接外部 Accumulo 实例和 java

    我正在尝试使用 Accumulo 连接到虚拟机 问题是 我无法将其连接到 Java 中 我可以看到 Apache 抛出的网页 但我无法让它与代码一起工作 我认为这是缺乏知识的问题而不是真正的问题 但我找不到这方面的文档 所有示例都使用 lo
  • 用于标签搜索的数据存储解决方案

    我已经按照预先计算的分数订购了数百万件商品 每个项目都有许多布尔属性 假设总共有大约一万个可能的属性 每个项目有十几个 我希望能够请求实时 几毫秒 给定任意属性组合的前 n 个项目 您会推荐什么解决方案 我正在寻找可扩展性极强的东西 我们目
  • 在 MongoDB 和 Apache Solr 之间同步数据的简单方法

    我最近开始使用 MongoDB 和 Apache Solr 我使用 MongoDB 作为数据存储 并且希望 Apache Solr 为我的数据创建索引 以实现应用程序中的搜索功能 经过一些研究 我发现 基本上有两种方法可以在 MongoDB
  • NoSQL(MongoDB)与 Lucene(或 Solr)作为数据库[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 随着基于文档数据库的 NoSQL 运动的发展 我最近关注了 MongoDB 我注意到如何将项目视为 文档 就像 Lucene 以及 Solr 用
  • Solr 不搜索整数?

    我目前正在使用 Solr 为电子商务网站开发搜索引擎 所以我在 schema xml 中得到这两个字段
  • Solr 中的拼写检查中阈值频率不起作用

    我得到stuck在中间Solr 我只需要最流行的词 w r t query 我用过语音过滤器双方索引和查询但这里的problem是它正在给予术语太多 我只需要几个术语这是非常具体的query 模式 xml
  • SOLR - Boost 函数 (bf) 以增加日期最接近 NOW 的文档的分数

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

    背景 使用Solr 4 0 0 我已经对一组示例文档的文本建立了索引并启用了术语向量 以便我可以使用快速向量突出显示
  • lucene 如何与 Neo4j 配合使用

    我是新来的Neo4j and Solr Lucene 我读到我们可以在 Neo4j 中使用 lucene 查询 这是如何工作的 Neo4j中使用lucene查询有什么用 我还需要一个建议 我需要编写一个应用程序来搜索和分析数据 which
  • 是否可以检索与 Solr 中的查询匹配的字段名称?

    我想动态地向用户显示哪个字段与发送到 Solr 的查询相匹配 例如 如果我有一个文档 document field1 yay field2 nay dynamic field hurr one yay two nay 我查询 yay 我是否
  • 在 Ecom 应用程序中实施 SOLR 的最佳实践是什么?

    我是 SOLR 的新用户 我正在开发一个具有 SQL 数据库的电子商务 Web 应用程序 我想在应用程序中为我的 类别页面 实现 SOLR 我们将在其中显示该类别的产品以及特定信息 例如可用库存 价格和更多详细信息 此外 我们希望根据库存情
  • 使用进度条时出错:Max 必须是正整数

    每当我用 solr 重新索引 a 时 都会收到以下错误 RAILS ENV development rake sunspot solr reindex Error using progress bar Max must be a posit
  • 在 solr 的类路径中找不到资源“solrconfig.xml”

    problem 我无法访问 solr 管理页面 当我在本地系统上运行 url 时 response
  • Solr 7.x 支持 Java 11 吗?

    目前我们的应用程序使用 Spring Data Solr Apache Solr 5 3 Java 8 运行 我们正在将系统升级到 Java 11 Spring Data Solr 和 Apache Solr 最新版本是否支持 Java 1
  • Solr 日期字段 tdate 与 date?

    所以我有一个关于 Solr 字段日期类型的问题 这个问题非常简单 日期 字段和 tdate 字段之间有什么区别 模式 xml 声称 为了更快的范围查询 请考虑 tdate 类型 和 基于 Trie 的日期字段 以实现更快的日期范围查询和日期
  • Windows 上的 Apache Kafka 错误 - 无法找到或加载主类 QuorumPeerMain

    我刚刚从 Apache 网站下载了 Kafka 2 8 0 我正在尝试使用网站上给出的说明进行设置 但是当我尝试启动 Zookeper 服务器时 出现以下错误 错误 无法找到或加载主类 org apache zookeeper server

随机推荐

  • Dart:在 Windows 上构建时出现“无效参数:路径中存在非法字符”

    我的 index html 文件中的违规行如下 错误报告是 Build error Transform polymer PolymerBootstrapTransformer on myproj frontend web index htm
  • Ping 到存储过程以了解 .net 中的执行是否已完成?

    我必须执行一个存储过程 当我执行该操作时 我必须继续检查 ping 该执行是否完成 我将更新标签 我们在 C 中有什么办法可以做到这一点吗 异步调用存储过程 并让回调更新您的标签 这是一篇关于它的文章 http www devx com d
  • 计算机编程艺术练习题:第 1 章,问题 8

    我正在做 TAOCP 第 1 卷第 3 版的练习 但无法理解以下练习的答案中使用的语法 第 1 章练习 8 Computing the greatest common divisor of positive integers m n by
  • 干预/图像需要文件信息

    我在干预 图像方面遇到问题 Laravel composer install intervention image 2 1 1 requires ext fileinfo gt the requested PHP extension fil
  • 如何改进构建器模式?

    动机 最近我寻找一种方法来初始化复杂的对象 而不需要向构造函数传递大量参数 我尝试使用构建器模式 但我不喜欢这样的事实 即我无法在编译时检查是否确实设置了所有需要的值 传统建造者模式 当我使用构建器模式来创建我的Complex对象 创建更加
  • 在 C 中无需 va_list 即可访问可变参数函数的参数

    是否可以使用指向最后一个命名参数的指针 void 指针 来迭代可变参数函数的参数 我知道这不是使用可变参数的正确方法 但我仍然感兴趣这是否可行 将指针设置到字符串的末尾不起作用 因为在我开始移动指针后 它指向程序中使用的其他字符串 incl
  • 根据之前从本地存储选择的过滤器推送历史记录

    由于我是 React 新手 我尝试根据本地存储中存储的先前选择的过滤器正确实现路由 然后在应用程序启动时将它们推送到历史记录 有超时 如果没有超时 应用程序会在获取用户上下文 令牌身份验证之间跳转 http localhost 3000 t
  • 链表数组 C++

    所以我以为我理解如何实现指针数组 但我的编译器说否则 任何帮助将不胜感激 我觉得我已经很接近了 但缺少一些关键的东西 1 我声明了一个名为 node 的结构 struct node int num node next 2 我已经声明了一个指
  • 如何以编程方式检测小米设备中的全屏手势模式

    我正在编写一个 Android 应用程序 需要计算屏幕的高度才能正确显示内容 但是当我切换到全屏手势模式时 我在小米设备 Mi 9 SE 中获得的高度不正确 如何获取小米设备屏幕的真实高度 或者检查用户是否开启了全屏手势模式 我已经尝试过这
  • 将 exe 和 msi 文件合并到一个安装程序中

    我有两个安装文件 间谍软件 后续 msi 我希望将这两个安装文件合并到一个安装文件中 以便可以在目标计算机上同时一一安装 我尝试了 NSIS 但它只是从安装文件中提取文件 但没有安装软件包 Inno Setup 也做了同样的事情 我的问题是
  • 安装ADT插件后,不出现欢迎使用Android开发

    使用 ADT 插件安装 Eclipse 后我陷入困境 完成所有步骤后 它应该显示 欢迎来到 android 开发 但我只看到 Java 开发 我的设置如下 Java JDK 6 日食朱诺 SR1 Android SDK 4 1 所有默认包和
  • 如何让 docker 工具箱与 .net core 2.0 项目一起使用

    我尝试在 NET core 2 0 项目中使用 Docker 功能时遇到错误 我收到一条错误消息 Visual Studio 容器工具需要先运行 Docker 构建 调试或运行容器化项目 欲了解更多信息 请参见 http aka ms Do
  • Rxjava - 链接可观察量时如何获取其他类型的流(返回值)而不是当前的流?

    我执行了一个 Retrofit2 observable 调用 在完成后它立即链接到另一个 observable 以将结果存储到数据库中 它看起来很简单 如下所示 protected Observable
  • 设置字符串中某个字符的样式

    我想通过 jQuery 设置字符串中某个字符的样式 但不知道如何实现 我有以下情况 a href Link a 我自己的方法是 a accesskey each selects only those a elements with an a
  • Laravel 中的渴望加载约束过滤器问题

    我无法过滤内容groups表关于username in users表使用急切负载约束 http laravel com docs 4 2 eloquent eager loading public function username ret
  • Jenkins CLI 连接被拒绝

    执行时 java jar jenkins cli jar s https jenkins url help 由于某种原因我的连接被拒绝 Jenkins版本是1580 3 用户拥有Jenkins服务器的权限 cli jar是最新的并且ssh公
  • SQL INNER JOINing 2 子查询

    我试图将这两个子查询 我认为这就是它的名字 内部联接在一起 其中第一个查询的branchName等于第二个查询的branchName 然而 他们似乎并不想联合起来 而且以我有限的 SQL 知识 我似乎找不到解决这个问题的方法 我尝试将括号移
  • Tegra 平板电脑上的 NDK 调试

    今天 我购买了用于本机开发的 Android 平板电脑 采用 Tegra 的 Acer Iconina Tab A500 Honeycomb 3 1 然后我从以下位置下载并安装了 Tegra Android Development Pack
  • Google Cloud Text To Speech API 快速入门示例

    我是这个论坛的新手 我正在尝试让 Google Cloud TTS API 正常工作 但遇到了一些问题 页面是 https cloud google com text to speech docs quickstart protocol h
  • SolrCloud:无法创建集合、锁定问题

    我一直在尝试实现 SolrCloud 一切正常 直到我尝试创建包含 6 个分片的集合 我的设置如下 5 个虚拟服务器 全部运行 Ubuntu 14 04 由一家公司跨不同数据中心托管 为整体运行 ZooKeeper 3 4 6 的 3 台服