2015-05-28 54 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應該停止日誌記錄。

相關問題