构建 Solr 索引并在 Prod 中热插拔?

问题描述 投票:0回答:2

我们计划建立一个 Solr 集群,该集群将拥有大约 30 台机器。我们有一个由 3 个节点组成的 Zookeeper 集合,将管理 Solr。 我们每隔几天就会有新的生产数据,这与 Prod 中的数据有很大不同。由于数据差异为 相当大,我们计划使用 hadoop 创建整个 Solr 索引转储并将这些二进制文件复制到每台机器,也许还可以进行一些核心交换。

我对 Solr 还很陌生,想知道这是否是一个好主意。我可以通过 http 将我的数据发布到 prod 集群,但每次更新都可能跨越多个文档。 我不确定这将如何影响写入时的读取流量。

有什么指点吗?

谢谢

solr solr4 solrcloud
2个回答
0
投票

我不确定我完全理解你的解释,但在我看来,你希望以零停机时间迁移到新的 solr 云环境。 首先,你需要知道你想要多少个分片,多少个副本等。 您需要部署 solr 节点,然后需要使用集合管理 API 根据需要创建集合(https://cwiki.apache.org/confluence/display/solr/Collections+API)。 完成所有这些之后,您应该准备好向新的 solr 环境添加内容。 您可以使用 Hadoop 来填充新的 solr 云,例如使用 solrj。或者您可以使用数据导入处理程序从另一个 solr(或关系数据库等)迁移数据。

如何在文档路由方面创建 solr 云非常重要,因为它控制着文档将存储在哪个分片中。 这就是为什么将原始索引数据复制到 solr 节点不是一个好主意,因为您可能会弄乱路由。 我发现这些关于路由的解释非常有用:https://lucidworks.com/blog/solr-cloud-document-routing/


0
投票

但是,如果您使用别名并在另一个集合(或核心?!?)中重新索引,您如何跟上有效集合和有效别名的更新?

© www.soinside.com 2019 - 2024. All rights reserved.