似乎无法找到这个明显问题的答案。
我们目前有6台服务器配置为运行DSE的“搜索”工作负载。
我的问题是: 是否可以在同一个物理盒上运行Search(Solr)和Cassandra? (不)可能/(不)推荐?
我很惊讶我们目前正在运行所有节点作为Solr节点,而我仍然可以将它们用作Cassandra(实时查询) - 所以从技术上讲它们都是?
“服务/最佳实践”告诉我: “请替换当前使用没有vnode的节点启用vnode的搜索节点。”
我们理想的情况是: 一个。将所有6台服务器用作cassandra存储(+实时查询) 湾使用1个或2个SAME服务器作为Solr Search。
我发现的唯一文档有点像我们想要的 - http://www.datastax.com/documentation/datastax_enterprise/4.6/datastax_enterprise/deploy/deployWkLdSep.html 但据我所知它仍然说我需要物理拆分负载,这意味着为cassandra专用4台服务器,为solr /搜索专用2个节点?
任何人都可以解释/建议吗?
谢谢!
答案 0 :(得分:3)
是否可以在同一个物理盒上运行Search(Solr)和Cassandra? (不)可能/(不)推荐?
是的,这就是DSE搜索的工作原理,Cassandra和Solr在同一个过程中运行,具有两者的全部功能。
Solr比Cassandra使用更多的CPU,因此您需要比专用Cassandra节点更多的Solr节点。您将设置单独的Cassandra和Solr数据中心来划分工作负载类型。
答案 1 :(得分:3)
正如Rock Brain提到的,DSE Search将在同一节点上运行Solr和Cassandra。更具体地说,它将在同一个JVM上运行它。这有堆的含义。建议将堆增加到14gb而不是c *仅8gb。
正如RB所提到的,Solr的CPU消耗将更高。但是,我 经常看到搜索DC的节点比C *节点更少,更强大。这又取决于您的工作量以及您要编制索引的数据量。
注意: DSE搜索效果提示 性能的主要经验是尝试将所有DSE索引放在OS页面缓存中,这样您可能需要比仅使用Cassandra的节点更多的RAM来获得最佳性能。
您可以在DataStax文档中找到我们建议您为cassandra工作负载以及搜索或分析工作负载运行单独的数据中心。这基本上可以防止搜索驱动的争用影响您的cassandra摄入。
这一建议背后的原因是许多DSE客户拥有超紧密的微秒级和非常大的工作负载。如果您有更宽松的SLA和更小的工作负载,您可以在相同的节点(相同的DC)中运行搜索和c *。您最好的选择是将其与您的硬件上的工作负载进行POC,并查看其运行情况。
不是真的,你很可能想要打开整个DC上的搜索,或者根本不打开。原因如下:
启用所有6中的搜索,但随时可以在所有搜索中指导c *查询,如果需要,只能在2处搜索查询。不知道为什么你会这么想,你会清楚地看到这两个节点在OpsCenter中的负载会更高。
请记住,从DSE 4.6开始,您可以利用搜索查询right from CQL。
关于上述评论的问题。建议不要在DSE搜索中使用Vnode,因为这会导致性能下降。具体来说,前4.6是一个很大的打击,约300%。但截至4.6,搜索查询的性能仅为30%。 num_vnodes越大,命中越大。
您可以在一个DC上运行vnodes,在另一个DC上运行单个令牌。默认情况下,DSE将运行单个令牌。