如何在Cassandra中禁用system_traces键空间?

时间:2015-05-28 14:56:41

标签: cassandra

我们在小型开发环境中使用Cassandra 2.1.5(2个DC,每个3个节点)。 我们在开发机器上没有太多空间,几乎每天都会遇到磁盘空间错误。主要罪魁祸首是system_traces键空间:

.../system_traces]# du -sh
8.1G    .

我试图在cqlsh中关闭跟踪:

cqlsh> tracing off;
Tracing is not enabled.

我尝试了nodetool settraceprobability 0 - 但是仍在填充表格。

我无法删除表格和密钥空间:

cqlsh> drop keyspace system_traces;
Unauthorized: code=2100 [Unauthorized] message="Cannot DROP <keyspace system_traces>"

唯一可行的解​​决方案是&#34;截断system_traces.sessions; truncate system_traces.events;&#34; - 但这些表很快就会满满的。

如何一劳永逸地禁用它?

3 个答案:

答案 0 :(得分:6)

也有可能启用跟踪概率,您可以在运行时通过nodetool禁用它:

nodetool settraceprobability 0

但必须在每个节点上完成。您可以截断事件/会话表

cqlsh> truncate system_traces.events;
cqlsh> truncate system_traces.sessions;

但是如果截断触发了快照,则可能希望清除快照。

nodetool clearsnapshot system_traces

答案 1 :(得分:1)

您仍必须在某处启用跟踪。尝试查看几行,这可能会提示您生成这些跟踪的内容。例如,当我手动跟踪CQL查询时,查询字符串显示在sessions.parameters

答案 2 :(得分:1)

nodetool settraceprobability 1帮助我开始跟踪并获取那些system_traces表中的数据,如会话和事件。早些时候,我没有显示任何数据。我在所有节点上都做了同样的步骤。因此,如果我们在所有表上执行此操作,请明确说明nodetool settraceprobability 0应该停止日志记录。