Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使调度程序在Cassandra中工作_Cassandra_Cassandra 2.1 - Fatal编程技术网

无法使调度程序在Cassandra中工作

无法使调度程序在Cassandra中工作,cassandra,cassandra-2.1,Cassandra,Cassandra 2.1,我和卡桑德拉一起跑2.1.16。我需要限制Cassandra中特定键空间的查询数量,因为应用程序正在运行对该键空间的内存密集型查询。如果有足够多的数据同时运行,Cassandra将耗尽堆 使用RoundRobinScheduler似乎是解决这一问题的理想方案。所以我在cassandra.yaml中启用了它,并设置了request_scheduler_选项。因此,对于下面的示例,我希望对名为mykeyspace的键空间一次激活的查询不超过2个: request_scheduler: org.apa

我和卡桑德拉一起跑2.1.16。我需要限制Cassandra中特定键空间的查询数量,因为应用程序正在运行对该键空间的内存密集型查询。如果有足够多的数据同时运行,Cassandra将耗尽堆

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

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类中的所有方法添加了调试日志消息。只记录来自构造函数的消息。运行查询时,我看不到来自其他方法的日志消息


有没有人在使用RoundRobinsScheduler时运气好?也许我误解了此调度器的使用。

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


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

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


我不知道的是,这个查询速率限制机制是否已经适应了CQL3。我的项目使用的是相对较旧的2.1版本。这些参数仍然包含在3.9版本中分发的cassandra.yaml中。有一段时间我将不得不下载源代码并亲自查看。

我认为这对您没有帮助。限制您的实例从来不是一个好主意。您应该更好地对数据进行分区,并限制来自客户端的扫描查询。确保您没有使用行缓存等。同时检查墓碑。不要以自己的方式解决基本问题—随着应用程序的增长,这不会变得更容易。通过看你的问题,你似乎足够了解你的方法来检查这些东西。我认为这对你没有帮助。限制您的实例从来不是一个好主意。您应该更好地对数据进行分区,并限制来自客户端的扫描查询。确保您没有使用行缓存等。同时检查墓碑。不要以自己的方式解决基本问题—随着应用程序的增长,这不会变得更容易。通过查看您的问题,您似乎已经了解了检查这些内容的方法。您是否检查了3.9版本?如果您对此有任何信息,请更新。您是否签入了3.9版本?如果您对此有任何信息,请更新。