首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法使RoundRobinScheduler在Cassandra中工作

无法使RoundRobinScheduler在Cassandra中工作
EN

Stack Overflow用户
提问于 2017-01-21 09:48:46
回答 1查看 87关注 0票数 1

我使用的是Cassandra 2.1.16。我需要将查询的数量限制到Cassandra中的特定键空间,因为应用程序正在运行对该键空间的查询,这是内存密集型的。如果同时运行足够多的线程,Cassandra将耗尽堆空间。

使用RoundRobinScheduler似乎是解决此问题的理想解决方案。所以我在cassandra.yaml中启用了它,并设置了request_scheduler_options。因此,对于下面的示例,我希望对于名为mykeyspace的键空间,一次活动的查询不超过2个:

代码语言:javascript
运行
复制
request_scheduler: org.apache.cassandra.scheduler.RoundRobinScheduler
request_scheduler_options:
  throttle_limit: 80
  default_weight: 5
  weights: mykeyspace: 2
request_scheduler_id: keyspace

这不起作用,也没有效果。为了进行调试,我下载了Cassandra源代码,并将调试日志消息添加到RoundRobinScheduler类中的所有方法中。记录的唯一消息来自构造函数。运行查询时,我看不到来自其他方法的日志消息。

有没有人用过RoundRobinScheduler?也许我误解了这个调度器的用法。

EN

Stack Overflow用户

发布于 2017-02-03 01:49:10

我在查看2.1.16 Cassandra源代码时发现,这种查询速率限制机制只适用于Thrift协议。它不适用于CQL3协议。当我通过Cassandra的废弃命令-cli(这是原始的Thrift解释器)运行查询时,我确实看到了我在RoundRobinScheduler类中插入的调试消息。

我不知道的是,这种查询速率限制机制是否适用于CQL3。我的项目使用的是相对较旧的2.1版本。这些参数仍然包含在3.9版本中分发的cassandra.yaml中。有一段时间,我必须下载源代码,然后自己去看看。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41774953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档