我想了解SolrCloud的详细写入操作,并对架构提出了一些问题:
答案 0 :(得分:1)
这是我的理解
1)ZooKeeper不会将任何文档写入SolrCloud。 ZooKeeper是每个SolrCloud节点用于存储共享配置并跟踪每个节点的共享状态以帮助选择领导者和监视副本状态的资源。 ZooKeeper不参与任何集合或更新的任何查询。 另请参见https://stackoverflow.com/a/19628852/277023
2)至少对于SolrJ客户端,将节点写入哪个碎片的选择是由客户端而不是由领导者完成的 有关更多详细信息,请参见here和https://lucene.apache.org/solr/guide/7_0/shards-and-indexing-data-in-solrcloud.html
3)我不知道该问题的答案
4)认为写入操作成功
事务日志是Solr4数据保证不可或缺的一部分,也是人们遇到麻烦的地方,所以让我们来谈谈它们。 SolrCloud中的索引编制流程如下: 节点接收传入的文档,并将其转发给适当的领导者。 从领导者将它们发送到相关分片的所有副本。 副本回应其领导者。 领导者响应始发节点。 在所有领导者都做出响应之后,始发节点会回复客户端。 至此,集群中所有节点的所有文档都已刷新到日志中!
来自
https://lucidworks.com/2013/08/23/understanding-transaction-logs-softcommit-and-commit-in-sorlcloud/
我希望对您有帮助