我是cassandra的新手,現在我正在嘗試構建一個生產服務器。 在文檔中,我讀到的數據和commitlog應該在分開的驅動器(順便說一下我使用硬盤), 我把commitlog會增加到許多GB的數據,我創建了2個硬盤(兩個100Gb),首先將數據第二個提交日誌中的sstables)。但現在在配置我看到: commitlog_total_space_in_mb: 4096
,我認爲這是'最大堆大小'。如果commitlog達到了這個限制,那麼看起來memtables的大小增加了,需要刷新到磁盤,memtables中包含的數據也從commitlog中刪除。Cassandra提交日誌只是(在內存中)堆的備份
所以請告訴我,如果我是正確的:commitlog是像堆的備份,不能增加到數百Gb?
而且我不需要爲此創建100Gb硬盤驅動器,就足夠了一個4Gb分區(在另一個硬盤驅動器上,數據(sstables)存儲位置不一樣)?
謝謝。我將它設置爲10Gb。 – moldcraft
我只會補充說,除非實際上有多個設備支持它們,否則沒有理由打擾單獨的分區。如果它只是一個物理磁盤,那麼對它進行子分區沒有任何好處。 – jbellis
如果您沒有給出'commitlog_total_space_in_mb'的明確大小,Cassandra將選擇默認值8GB(對於64位JVM)或32MB(對於32MB JVM)。這表明大多數情況下8GB的大小是最佳的。 – Raedwald