2015-05-28 55 views
1

我们在小型开发环境中使用Cassandra 2.1.5(2个DC,每个3个节点)。 我们在开发机器上没有太多空间,几乎每天都面临磁盘空间错误。罪魁祸首是system_traces密钥空间:如何禁用Cassandra中的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>" 

唯一的工作解决方案 “截断system_traces.sessions;截断system_traces.events;” - 但那些表很快就会满满地排满了。

我该如何彻底禁用它?

+3

您仍然必须在某处启用跟踪。你检查过你的客户端应用程序吗你使用哪种语言/驱动程序? –

+0

Java,阿基里斯。在客户端代码中没有任何跟踪。 – relgames

+0

试着看几行,这可能会给你一个提示,说明什么会产生这些痕迹。例如,当我手动跟踪CQL查询时,查询字符串出现在'sessions.parameters'中。 –

回答

1

您仍然必须在某处启用跟踪。试着看几行,这可能会给你一个关于什么产生这些痕迹的提示。例如,当我手动跟踪CQL查询时,查询字符串出现在sessions.parameters中。

5

即使世界的轨迹概率已启用过一次机会,你可以在运行时通过nodetool禁用它:

nodetool settraceprobability 0 

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

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

但是如果截断触发一个,则可能需要清除快照。

nodetool clearsnapshot system_traces 
+0

我在我的问题中提到我已经执行了settraceprobability 0,没有帮助。 – relgames

1

nodetool settraceprobability 1帮助我开始跟踪和获取像会话和事件这些system_traces表中的数据。此前它并没有显示任何数据。我在所有节点上做了同样的步骤。所以这就清楚地表明,如果我们在所有表上执行,nodetool settraceprobability 0应该停止日志记录。

相关问题