在同一物理节点上运行Search工作负载和Cassandra工作负载 [英] Running Search workload and Cassandra workload on the same physical node

查看:264
本文介绍了在同一物理节点上运行Search工作负载和Cassandra工作负载的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Can't seem to find the answer to this obvious question.

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

We have 6 servers currently configured as "Search" workload running DSE.

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

My question is: Is it possible to run Search (Solr) and Cassandra on the same physical box? (Not) Possible / (Not) Recommended?

我对当前我们将所有节点都运行为Solr节点感到非常困惑,但我仍然能够

I'm very confused with the fact that we currently are running all nodes as Solr nodes and I'm still able to use them as Cassandra (real time queries) - so it's technically both?

服务/最佳实践告诉我:
请替换当前的搜索启用了vnode且没有vnode的节点的搜索节点。

The "Services /Best Practice" tells me that: "Please replace the current search nodes that have vnodes enabled with nodes without vnodes."

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

Our ideal situation would be: a. Use all 6 servers as cassandra storage (+ real time queries) b. Use 1 or 2 of the SAME servers as Solr Search.

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

The only documentation that I've found that somewhat resemble what we want to is - http://www.datastax.com/documentation/datastax_enterprise/4.6/datastax_enterprise/deploy/deployWkLdSep.html but as far as I understand it still says that I need to physically split the load, meaning dedicate 4 servers for cassandra and 2 nodes for solr/search ?

有人可以解释/建议什么吗?

Can anyone explain/suggest anything?

谢谢!

推荐答案

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


如Rock Brain所述,DSE搜索将运行Solr和Cassandra在同一节点上。更具体地说,它将在同一JVM上运行它。这具有堆的含义。建议将堆提高到14gb,而不是仅将c *提高到8gb。

DSE Search - C* and Solr on the Same node:

As Rock Brain mentioned, DSE Search will run Solr and Cassandra on the same node. More specifically, it will run it on the same JVM. This has heap implications. Recommendation is to bump your heap up to 14gb rather than the c* only 8gb.

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

As RB also mentioned, CPU consumption will be greater with Solr. However, I often see Search DC's with fewer, beefier, nodes than C* nodes. Again this depends on your workload and how much data you're indexing.

注意: DSE搜索性能提示
的主要规则性能的秘诀是尝试将所有DSE索引都放入OS页面缓存中,这样您可能需要比仅Cassandra节点更多的RAM才能获得最佳性能。

Note: DSE Search Performance Tip The main rule of thumb for performance is to try to fit all your DSE Indexes in the OS page cache so you may need more RAM than for a Cassandra only node to get optimal performance.

在DataStax文档中,我们建议您为cassandra工作负载以及搜索或分析工作负载运行单独的数据中心。

You will find in the DataStax docs, that we recommend for you to run separate data centers for your cassandra workloads and for your search or analytics workloads. This basically prevents Search driven contention from affecting your cassandra ingestions.

此建议背后的原因是,许多DSE客户拥有超紧密的微秒sla和非常大的工作量,因此基本上可以防止搜索驱动的竞争影响您的卡桑德拉摄取。如果您的SLA较宽松且工作量较小,则可以在同一节点(相同的DC)中运行搜索和c *来摆脱困境。最好的选择是随您的硬件上的工作负载进行POC,并查看其性能。

The reason behind this recommendation is that many DSE customers have super-tight micro second sla's and very large workloads. You can get away with running search and c* in the same nodes (same DC) if you have looser SLA's and smaller workloads. Your best bet is to POC it with your workload on your hardware and see how it performs.

不是真的,您很可能想在整个DC上打开搜索或根本不打开。出于以下原因:

Not really, you most likely want to turn on search on your whole DC or not at all. For the following reasons:


  1. DSESimpleSnitch会自动将它们拆分为单独的DC,因此您必须使用另一个告密器。

  2. 如果没有足够的节点来正确复制数据,您将在Solr DC上找不到端点错误。请记住,Cassandra仍然负责复制,每个节点上的Solr核心将仅索引该节点上的相应数据。

在全部为6,但可以直接对所有c *查询进行直接查询,如果需要,也可以仅在2查询。不确定为什么会这样,您会清楚地看到OpsCenter中的这两个节点将承受更高的负载。

Turn on search in all 6, but feel free to direct c* queries at all of them and search queries only at 2 if you want. Not sure why you would want to though, you'll clearly see those 2 nodes will be under higher load in OpsCenter.

请记住,您可以利用搜索查询

Remember that you can leverage Search queries right from CQL now as of DSE 4.6.

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

For your question on the comment above. Vnodes are not recommended for DSE Search as you will incur a performance hit. Specifically, pre 4.6 it was a large hit, ~300%. But as of 4.6 it's only a 30% performance hit for Search queries. The bigger the num_vnodes the larger the hit.

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

You can run vnodes on one DC and single tokens on the other DC. DSE will, by default, run single tokens.

这篇关于在同一物理节点上运行Search工作负载和Cassandra工作负载的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆