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 - 从数据库导入日期时间字段 -> 2 小时差异

    我正在 Solr 中导入日期时间列 SQLServer 并且 solr 中的值始终比数据库中早 2 小时 并且具有完整导入和增量导入 我已经用正确的时间配置了jvm 在日志中它显示了正确的时间 我想我必须在 data config xml
  • MySQL 和 Solr 中的分面搜索和类别

    我希望能够创建一个类似于 ebay 或 newegg 的搜索页面 您可以在其中选择类别和根据类别的不同方面 有人能给我指出正确的方向吗 我如何使用 Solr 中的产品存储和搜索此类方面和类别 以及我将使用 MySQL 查看哪种类型的数据库模
  • 如何使用 Solr Provider 控制 Sitecore ContentSearch 中嵌套查询的优先级?

    版本详情 我正在使用 Sitecore 7 5 build 141003 使用 Solr v4 7 作为搜索引擎 索引服务器 我还使用标准 Sitecore Solr 提供程序 没有自定义索引器 目标目标 我使用 Sitecore Cont
  • 将 Nutch 爬虫与 Solr 结合使用

    我可以将 Apache Nutch 爬虫程序与 Solr 索引服务器集成吗 Edit 我们的一位开发人员从这些帖子中提出了一个解决方案 运行 Nutch 和 Solr http wiki apache org nutch RunningNu
  • 如何使用 Apache SOLR 和 PHP 代码突出显示搜索结果

    我使用 SOLR 和 Tomcat servlet 容器开发了搜索页面 使用 PHP 代码 我将搜索查询发布到 solrQuery 函数中 并在此函数中定义了查询参数 如下所示 query q trim urlencode q versio
  • 将 json 请求 POST 到 Solr,请求中带有cursorMark

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

    All 我是 Solr 的新手 当我使用 solr 示例导入一些随机文档时 我在 q 中使用搜索查询 如下所示 fund report fund和 之间没有空格 我以为会在文档中搜索 fund report 这个词 这种情况在文档中很少发生
  • 动物园管理员:java.lang.ClassNotFoundException:org.apache.zookeeper.admin.ZooKeeperAdmin

    我有一个版本为3 4 10的zookeeper和版本为2 12 0的curator 但版本低于3 5 8的zookeeper对log4j1有严格的传递依赖 我想使用 log4j2 这就是为什么需要更新 Zookeeper 版本 我尝试了不同
  • 加速 solr 索引

    Solr 索引花费的时间太长 我使用的mysql有超过3000万条记录 我正在使用两级子查询 请向我建议索引数据的最佳实践 以便我可以加快该过程 查看Solr性能因素 http wiki apache org solr SolrPerfor
  • yii2 作曲家更新致命错误

    当我更新我的作曲家以添加yii2 solr扩展我的项目时 我遇到如下错误 The yiisoft yii2 composer plugin requires composer plugin api 1 0 0 this WILL break
  • 如何在不使用 SPLITSHARD 的情况下动态向 SolrCloud 添加节点?

    我已经设置了Solr云有 4 个碎片 我向 SolrCloud 添加了 8 个节点 4 个领导者和 4 个副本 每个节点运行在不同的机器上 但后来我发现我的数据越来越多 每天400万文件 这样我的 4 个分片就不够用了 因此 我想动态地向该
  • 复杂的 SOLR 查询,包括 NOT 和 OR

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

    我已经能够成功地实现基本的全文搜索 但是当我尝试使用范围 with statements 时 任何涉及多对多关系模型的查询似乎都不适合我 我知道相关行位于数据库中 因为我的 sql 语句确实返回了数据 然而 太阳黑子查询不会返回任何结果 我
  • 如何使用 Solr 索引 pdf 内容?

    我正在尝试使用 SolrJ 索引一些 pdf 文档 如下所述http wiki apache org solr ContentStreamUpdateRequestExample http wiki apache org solr Cont
  • 我们可以同时使用拼音标记和同义词吗?

    我正在尝试同时启用语音分析器和同义词 这似乎不起作用 它们一起使用有错吗 在下面的实现中 我希望使用同义词转换搜索查询 然后使用语音分析器来检索结果 但我的同义词在这里完全被忽略了 如果我在创建索引时删除语音分析器 那么同义词就可以正常工作
  • Solr PatternReplaceCharFilterFactory 未替换为指定模式

    所以我对 Solr 很陌生 但我尝试使用 PatternReplaceCharFilterFactory 对将存储的电话号码字符串进行一些预处理 这是该字段的配置
  • cursorMark是无状态的以及它如何解决深度分页

    作为指定here https cwiki apache org confluence display solr Pagination of Results光标标记是无状态的 但我不明白它是如何解决无状态的深度分页问题的 solr 是否按唯一
  • 如何使用 lucene 查询找到空的 Solr 文档字段

    我有一些这样的文件
  • 如何使用 solrnet 在 solr 中使字段搜索不区分大小写

    在 solr 模式中我有如下字段
  • Solr 索引时间提升 VS 查询时间提升?

    问题 1 我们可以只进行查询时间提升 使用 dismax 而不在索引时间提及提升值吗 问题 2 与查询时间提升相比 索引时间提升有何优点 缺点 反之亦然 查询时间和索引时间提升 在索引时 您可以选择提升特定文档 整个文档或仅一个字段 它作为

随机推荐

  • 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 台服