我刚刚开始使用 solr,希望您在下面的场景中提出建议。我们有 2 个数据中心,每个数据中心有 3 个节点(均位于不同的 aws 区域,具有位置优势)。我们有一个要求,他们问我是否可以在每个数据中心有 2 个 solr 节点。因此每个数据中心将有 2 个 solr 节点和 1 个 cassandra only 节点。我想了解这种设置是否可以,并且我有点困惑 solr 节点是否会有数据以及索引?是否所有 6 个节点都共享数据,并且 4 个 solr 节点上会有索引和数据吗?请提供一些这方面的信息。谢谢。
简短的回答是no,这是行不通的。如果您在 DC 中的一个节点上打开 DSE 搜索,则需要为 DC 中的所有节点打开它。
但为什么??
DSE 搜索在节点本地存储的数据上构建 lucene 索引。假设您有一个带有 RF1 的 3 节点 DC(该节点只有 1/3 的数据),并且您仅在其中一个节点上打开搜索。 1/3 的搜索查询将会失败。
那我应该到处都打开搜索吗?
如果您的工作负载相对较小且 SLA 松散(c* 和搜索)和/或如果您配置过多,则可以在主 Cassandra 节点上打开搜索。然而,在许多情况下,c* 工作负载繁重且 SLA 严格,搜索查询将对 cassandra 性能产生负面影响(因为它们与相同的硬件竞争)。
我需要在两个物理 DC 中搜索节点
如果您希望仅在物理 DC 中的三个节点中的两个中启用搜索,则唯一的方法是将物理 DC 实际上拆分为两个逻辑 DC。在你的情况下,你会:
美国 - 卡桑德拉
美国 - 搜索
新加坡 - 卡桑德拉
新加坡 - 搜索
这为您提供了搜索和 c* 查询的地理位置,并且还提供了工作负载隔离 http://docs.datastax.com/en/datastax_enterprise/4.7/datastax_enterprise/deploy/deployWkLdSep.html在 c* 和搜索工作负载之间,因为它们与不同的操作系统子系统竞争。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)