gpt4 book ai didi

solr - 在同一物理节点上运行搜索工作负载和 Cassandra 工作负载

转载 作者:行者123 更新时间:2023-12-02 08:29:45 26 4
gpt4 key购买 nike

似乎找不到这个明显问题的答案。

我们目前有 6 台服务器配置为运行 DSE 的“搜索”工作负载。

我的问题是:是否可以在同一个物理盒子上运行 Search (Solr) 和 Cassandra? (不)可能/(不)推荐?

我对我们目前将所有节点作为 Solr 节点运行而我仍然能够将它们用作 Cassandra(实时查询)这一事实感到非常困惑 - 所以从技术上讲两者兼而有之?

“服务/最佳实践”告诉我:“请将当前启用了 vnode 的搜索节点替换为未启用 vnode 的节点。”

我们的理想情况是:A。使用所有 6 个服务器作为 cassandra 存储(+ 实时查询)b.使用 1 或 2 个相同的服务器作为 Solr 搜索。

我发现唯一与我们想要的有点相似的文档是 - http://www.datastax.com/documentation/datastax_enterprise/4.6/datastax_enterprise/deploy/deployWkLdSep.html但据我所知,它仍然说我需要物理上拆分负载,这意味着为 cassandra 提供 4 个服务器,为 solr/search 提供 2 个节点?

谁能解释/建议什么?

谢谢!

最佳答案

DSE 搜索 - 同一节点上的 C* 和 Solr:

正如 Rock Brain 提到的,DSE Search 将在同一节点上运行 Solr 和 Cassandra。更具体地说,它将在同一个 JVM 上运行它。这具有堆含义。建议将堆增加到 14gb 而不是 c* 只有 8gb。

正如 RB 还提到的,Solr 的 CPU 消耗会更大。但是,我经常看到 Search DC 的节点比 C* 节点更少、更强大。同样,这取决于您的工作量和索引的数据量。

注意:DSE 搜索性能提示性能的主要经验法则是尝试将所有 DSE 索引放入操作系统页面缓存中,因此您可能需要比仅使用 Cassandra 的节点更多的 RAM 才能获得最佳性能。

DSE 搜索和工作负载隔离:

您会在 DataStax 文档中找到我们建议您为您的 cassandra 工作负载和搜索或分析工作负载运行单独的数据中心。这基本上可以防止搜索驱动的争用影响您的 Cassandra 摄取。

此建议背后的原因是许多 DSE 客户拥有超紧微秒 sla 和非常大的工作负载。如果您有更宽松的 SLA 和更小的工作负载,您可以在相同的节点(相同的 DC)中运行搜索和 c*。最好的办法是用硬件上的工作负载对其进行概念验证,看看它的性能如何。

我可以只在我的 6 个 DSE 节点中的 2 个上激活 DSE 搜索吗?

不一定,您很可能想在整个 DC 上打开搜索或根本不打开搜索。原因如下:

  1. DSESimpleSnitch 会自动将它们分成单独的 DC,因此您必须使用另一个告密者。
  2. 如果没有足够的节点和正确的数据副本,您将在 Solr DC 上遇到无法找到端点的错误。请记住,Cassandra 仍然负责复制,每个节点上的 Solr 核心只会索引该节点上的相应数据。

在所有 6 个中打开搜索,但如果需要,可以随意将 c* 查询定向到所有这些查询,并仅在 2 个中搜索查询。虽然不确定为什么要这样做,但您会清楚地看到这 2 个节点在 OpsCenter 中将承受更高的负载。

请记住,您可以利用搜索查询 right from CQL现在从 DSE 4.6 开始。

DSE 搜索的 Vnodes 与非 Vnodes

关于您对上述评论的问题。不建议将 Vnode 用于 DSE 搜索,因为这会影响性能。具体来说,4.6 之前的命中率很高,约为 300%。但从 4.6 开始,搜索查询的性能下降仅为 30%。 num_vnodes 越大,命中越大。

您可以在一个 DC 上运行 vnode,在另一个 DC 上运行单个 token 。默认情况下,DSE 将运行单个 token 。

关于solr - 在同一物理节点上运行搜索工作负载和 Cassandra 工作负载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28331235/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com