2012-04-18 39 views
2

有沒有辦法在cassandra中強制輕微壓縮?cassandra強制輕微壓縮?

我已經嘗試將節點壓縮閾值設置爲4 4,節點上具有未完成任務的nodetool,但沒有任何反應。

回答

1

不,只能手動觸發主要壓實。

+0

如果我使用DataStax Java API,是否有任何方式獲取次要壓縮的警報/事件/數據?我發佈了我的[查詢](http://stackoverflow.com/questions/31433638/getting-cassandra-compacted-data-after-compaction)。請看一看。 – 2015-07-16 06:40:17

2

爲什麼要輕微壓縮而不是主要壓縮?

當您將壓實閾值設置爲4 4時,有多少個SSTables?如果你少於4,那麼這將不會觸發輕微壓縮,因爲它不符合壓縮閾值。

您可以通過查看您的一個密鑰空間中的文件來檢查您的SSTables及其大小。它應該看起來像這樣:

[email protected]:/var/lib/cassandra/data/test_ks $ du -ch * 
4.0K Users-hc-1-Data.db 
4.0K Users-hc-1-Digest.sha1 
4.0K Users-hc-1-Filter.db 
4.0K Users-hc-1-Index.db 
8.0K Users-hc-1-Statistics.db 
4.0K Users.Users_name_idx-hc-1-Data.db 
4.0K Users.Users_name_idx-hc-1-Digest.sha1 
4.0K Users.Users_name_idx-hc-1-Filter.db 
4.0K Users.Users_name_idx-hc-1-Index.db 
8.0K Users.Users_name_idx-hc-1-Statistics.db 
48K total 
[email protected]:/var/lib/cassandra/data/test_ks $ 
+0

我想觸發一個較小的壓縮,以便能夠可預測地維護cassandra,而不是讓它自動觸發壓縮並以不希望的方式影響流量。當我將壓實閾值設置爲4 4時(我之前通過將閾值設置爲0 0來禁用壓縮),有10個SSTables。 – cheecheeo 2012-04-25 21:40:59

1

Datastax documentation for version 0.7表示輕微壓縮「有規律地自動執行」,表明您不能強制進行輕微壓縮,但必須等待發生壓縮。據推測,如果有必要的話,你只需等待足夠長的時間。