为啥我们应该在单独的 DC 中运行 dse search

Posted

技术标签:

【中文标题】为啥我们应该在单独的 DC 中运行 dse search【英文标题】:why we should run dse search in a seperate DC为什么我们应该在单独的 DC 中运行 dse search 【发布时间】:2018-11-14 22:35:13 【问题描述】:

如果我们在所有现有 DC 中以搜索/SolR 模式运行 Datastax Cassandra,主要优势或因素是什么。

如果我当前具有所有 DC 的 Datastax 集群在正常负载下运行 Cassandra,那么我应该将它们切换为直接在搜索模式下启用吗??

会影响多少负载?因为目前,当我在 Search/SolR 模式下运行 DC 时,我看不到运行应用程序的性能差异。 从以下命令开始:

./dse cassandra -p cassandra-proc.pid -s

我能以某种方式测量负载吗?

【问题讨论】:

【参考方案1】:

有太多因素在起作用 - DSE 的版本、执行的搜索查询类型、底层硬件、数据量等 - 没有这些数据很难说。

对于 4.x,在单独的 DC 中进行搜索的原因之一是它不能很好地与 vnode 一起使用。在 5.x 中,对 vnode 的支持得到了改进,因此您可以将两者配置在同一个 DC 中。但是,如果您有非常高的事务负载和大量搜索查询,那么在不同的 DC 中分离功能以提供更好的可用性/延迟保证仍然是有意义的,因为某些搜索查询可能需要相当多的资源。

【讨论】:

我收到了您的回复,但如果我使用的是 DSE 5 并且 vnodes 尚未启用。那你有什么建议?另外,Search DC 中的节点数量比普通 Cassandra DC 少有意义吗? 是的,如果您使用其他复制因子,“搜索 DC”中的节点可能会更少,并且负载不会像“事务 DC”中那样高。但是您需要确保,例如,如果一个节点将关闭,并且 RF=2,那么剩下的节点将处理增加的负载。 是的,Alex 这对我来说很有意义,我将在每个 SolR DC 上拥有 LOCAL_QUORUM 是的,负载并没有那么多。

以上是关于为啥我们应该在单独的 DC 中运行 dse search的主要内容,如果未能解决你的问题,请参考以下文章

DSE 无法运行程序 df - 打开的文件太多

实时索引 DSE

当集群处于部分升级状态时,我们可以使用 sstableloader 吗?

DSE 图中是不是支持服务器端功能?

如何找出特定 DSE 正在运行的 Cassandra 版本?

为啥我应该将城市飞艇服务作为一个单独的流程启动?