solr - 将 Solr 核心恢复到 Solr Cloud 集合 - 版本 6.6.6
问题描述
我以独立模式运行 Solr,它的版本是 6.6.6。我必须将此索引转移到另一个在云模式下运行的 Solr 实例(相同版本)。我已经使用复制 API 从旧的 solr 中备份了核心。为了恢复新的 Solr(云模式),我遇到了以下异常:
java.nio.file.NoSuchFileException:java.nio.file.NoSuchFileException: /home/user/search/import-index/snapshot.abc-21-10-2020/backup.properties
Zookeeper 上的相同配置已经从旧 Solr 部署到新 Solr。这种方法有什么问题?如何解决这个问题?
解决方案
我与 solr:8.5.2 有类似的情况,遗憾的是无法将核心备份恢复到集合中,但我执行了以下步骤:
- 使用复制处理程序进行核心备份:
curl 'HOST:8983/solr/CORE/replication?command=backup&name=backup-XXX&core=CORE&location=/tmp' -H 'Content-type:application/json'
- 使用 shard 1 创建集合(如果需要更多,可以稍后使用拆分 shard )
solr create -c XXX [-d /your/configsets/if/any ] -shards 1
- 停止 solr
- 删除SOLR_DATA/XXX_shard1_replica_nY 中除空目录之外的所有内容,
core.properties
例如index
cd /var/solr/data/XXX_shard1_replica_n1
rm -rf index/* snapshot_metadata tlog
- 在 SOLR_DATA/index/ 中复制核心备份
cp snapshot.backup-XXX/* SOLR_DATA/index/
- 启动 solr,您应该已恢复数据
推荐阅读
- powershell - 使用 Powershell 从 Azure Devops 检索信息
- javascript - 如何使用node js在终端中编写函数的参数
- android - 没有 gradle 和 appcompat 或共享库的 Android 开发
- r - 在 \n 新行之后将文本提取到新列中
- javascript - 我可以获得有关用于启动 google 应用程序脚本的触发时间间隔的信息吗?
- python - 使用python从CSV中提取大量列和行?
- visual-studio-code - VSCode 动态 JSON 模式验证
- java - Springfox 文档 - 单独章节中的全局标题
- r - 从R中的一个变量转置另一个变量
- .net - 当在“for”循环中添加项目时,如何立即通知绑定到 ObservableCollection 的 DataGrid?