【发布时间】:2011-12-24 13:39:52
【问题描述】:
刚开始使用 Solandra 并试图了解第二个 Solandra 分片的级别详细信息。
AFAIK Soalndra 创建配置的分片数量(如 “solandra.shards.at.once”属性),其中每个分片的大小为 “solandra.maximum.docs.per.shard”。
在下一个级别开始 在每个分片内创建插槽,由 “solandra.maximum.docs.per.shard”/“solandra.index.id.reserve.size”。
我从 SchemaInfo CF 的数据模型中了解到 特定的分片有不同物理节点拥有的插槽,并且 这是节点之间为获得这些插槽而进行的竞赛。
我的问题是:
这是否意味着如果我请求在特定的 solr 节点上写入 例如 .
....solandra/abc/dataimport?command=full-import执行此请求 被分发到所有可能的节点等。这是分布式写入吗? 因为在这种情况发生之前,其他节点将如何竞争 特定分片内的插槽。理想情况下是编写文档的代码或 一组文档将在单个物理 JVM 上执行。通过分片,我们尝试在单个物理节点上编写一些文档 但如果它是基于不同拥有的插槽编写的 物理节点,我们实际上实现了什么,因为我们再次需要 从不同的节点获取结果。我明白写 吞吐量最大化。
我们可以考虑调整这些数字吗? "
solandra.maximum.docs.per.shard" , “solandra.index.id.reserve.size","solandra.shards.at.once”。如果我在单个 DC 中只有一个分片和复制因子为 5 6 节点设置,我看到这个分片的端点包含 5 根据复制因子的端点。但是第 6 个会发生什么 一。我通过nodetool看到左边第6个节点并没有真正得到 任何数据。如果我将复制因子增加到 6,同时保持 集群上,这将解决问题并进行修复等还是 有更好的方法。
【问题讨论】:
标签: solandra