我们是否可以在同一数据中心中仅使用cassandra节点和启用solr的节点?

时间:2015-08-24 21:14:10

标签: solr cassandra datastax

我刚开始使用solr,并希望在下面的场景中提出您的建议。我们有2个数据中心,每个数据中心有3个节点(两个位于不同的aws区域,以获得位置优势)。我们要求他们询问每个数据中心是否有2个solr节点。所以每个数据中心只有2个solr节点和1个cassandra节点。我想了解它是否可以进行这种设置并且我很困惑solr节点是否会有索引上的数据?所有6个节点共享数据,4个solr节点上会有数据索引吗?请提供一些相关信息。感谢。

1 个答案:

答案 0 :(得分:4)

简短回答是,这不起作用。 如果您在DC中的一个节点上启用DSE搜索,则需要为DC中的所有节点启用它。

但为什么??

DSE Search为节点本地存储的数据构建lucene索引。假设你有一个带有RF1的3节点DC(节点只有1/3的数据),你只能打开其中一个节点上的搜索。 1/3的搜索查询将失败。

所以我应该在任何地方进行搜索?

如果您的工作负载相对较小且SLA松散(包括c *和搜索)和/或如果您配置过度,那么您可以在主Cassandra节点上启用搜索。但是,在许多情况下,c *工作负载较重且SLA严密,搜索查询会对cassandra性能产生负面影响(因为它们与相同的硬件竞争)。

我需要物理DC的

中的搜索节点

如果您希望仅在物理DC中的三个节点中的两个中启用搜索,则实现此目的的唯一方法是将物理DC实际拆分为两个逻辑DC。在你的情况下,你会有:

美国 - 卡桑德拉

美国 - 搜索

新加坡 - 卡桑德拉

新加坡 - 搜索

这为您的搜索和c *查询提供了地理位置,并且在您的c *和搜索工作负载之间提供workload isolation,因为它们与不同的OS子系统竞争。