【问题标题】:SOLR and VNodes and TokensSOLR 和 VNodes 和令牌
【发布时间】:2017-02-14 18:50:21
【问题描述】:

注意:我进行了一些重新格式化并添加了一些附加信息。

请看这个:Question_Answer

我想问一下 - 对于 DSE 5.0 以及今年在 C* 峰会上提到的 5.1 和 5.2 即将发生的变化,同样的建议是否有用?

我们的用例是:

平台必须随时可用。 (卡桑德拉)
数据必须是可搜索的。 (SOLR / Lucene)
该平台必须提供分析/数据仓库/BI 等(图形/Spark)

多亏了 DSE,所有这些都可以在单一产品中实现!谢谢 DataStax!

但我们存储的数据量和交易数量非常少。
我们的规范是针对应用程序中的 100 个并发会话 - 当然,这甚至不会转化为 100 个并发数据库请求/操作。

在大多数情况下,我们的应用程序类似于日常企业 CRUD 应用程序。

虽然并不荒谬,但 AWS 实例并非完全免费。
为每个工作负载配备一个单独的集群(具有足够的复制以实现持续可用性)对我们来说将是一个成本问题。

虽然我理解,概念证明可以提供一些帮助——但没有真正的工作负载/真正的用户——通过服务/应用程序——只有“生产”系统和流氓用户才能真正提供洞察力。您能做的最好的事情就是“加载”功能测试。

简而言之,从平台的角度来看,我们有点卡在这里。

最初,我们正在考虑:

2 个地理隔离数据中心
每个 DC 2 个机架
每个机架 2 个节点
射频 3
local_quorum 的 CL

如果我们发现遇到性能问题,我们可以横向扩展 - 在最初的 2 个机架中添加一个额外的机架或额外的节点。

至于 V 节点或令牌数量,我们不知道。

DSE 搜索的文档说 V-nodes 增加了 30% 的开销,所以听起来你不应该使用 V-nodes,但是在文档中的一个表中它也说使用 16 或 32。它怎么可能两者兼而有之?

如果我们可以在单个节点上成功运行所有工作负载(我们的要求确实很低),我们是使用 V 节点(16 还是 32)运行还是运行单个令牌?

最后,还有其他选择吗?
您可以在同一个数据中心拥有具有不同工作负载的节点吗?单个节点在哪里设置了特定工作负载的 RAM / CPU 要求?

假设我们每个数据中心有 4 个节点(仅作为起点 - 我们不知道您是否可以在单个节点上成功运行 Search / 或在单个节点上成功运行 Spark)

节点 1:仅 Cassandra
节点 2:Cassandra 和搜索
节点 3:Cassandra 和 Graph
节点 4:Cassandra 和 Spark

如果 Search 需要 64GB RAM - 就这样吧……但 Cassandra 唯一的节点可以使用 8 或 16 个。

因此,我们可以满足每种工作负载类型的 CPU 和内存需求——但仍然只有一个 DC。 (我们将有 2 个用于冗余 - 但实际上它是单个 DC 安装:镜像)

提前感谢您的帮助。

【问题讨论】:

    标签: datastax-enterprise datastax-startup


    【解决方案1】:

    Vnodes 为搜索解决方案的分散收集部分增加了额外的开销。在某些基准测试中,这一比例高达 30%。由于动态扩展的好处,一些客户愿意承受这种开销并希望使用 vnode。

    如果您拥有或正在计划一个小型集群 - 并且不需要动态扩展它 - 那么我肯定会建议坚持使用单个令牌。这种方法的隐藏好处是,您的维修速度也会稍快一些。这有助于搜索,因为您正在阅读相当于 CL.ONE 的内容。

    可以在同一个数据中心(搜索、分析和现在的图表)上运行所有功能,但您会发现开销会增加。您将需要具有更多内存和 cpu 资源的更大节点来应对处理负载。我可能会从 128 Gb 的内存开始,然后从那里开始。我想如果你的负载真的很轻,你可能会少花钱。与您打算运行的所有规模的基准测试一样,这是关键。

    顺便说一句,我并不完全清楚你对 RF 的意图。你有点暗示2个节点和RF = 3。我猜这只是措辞,但如果不是 - 值得注意的是,您至少需要与 RF 一样多的节点才能获得最佳覆盖范围!

    【讨论】:

    • WRT 到 RF;每个机架有 2 个节点:和 2 个机架 - 总共为数据中心提供 4 个节点。除非我遗漏了一些东西——我当然可能是——3 的 RF 似乎在这里工作。
    • 哦错过了 2 场比赛 - 是的,应该没问题。
    • 如果您决定在 5.0.x(或更早版本)中将 vnode 与 DSE 搜索一起使用,请记住您可能需要调整 Solr 过滤器缓存的大小以确保查询性能保持合理。 (当然,您应该使用限制全局内存使用的 DSE SolrFilterCache,而不是 OSS Solr 缓存实现。)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-13
    • 2017-11-20
    • 2019-03-22
    • 1970-01-01
    • 2018-09-29
    • 2015-12-14
    相关资源
    最近更新 更多