我们在小型开发环境中使用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; - 但这些表很快就会满满的。
如何一劳永逸地禁用它?
答案 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应该停止日志记录。