2013-02-24 39 views
1

我有一個節點elasticsearch集羣,並使用兩個路徑來存儲shadrs,如path.data:/partone,/parttwo。 1GB硬盤安裝在/ partone文件夾上,5GB硬盤安裝在/ parttwo文件夾中。我使用大約483 MB文件進行索引,然後536644文檔出現在此節點中。當我刪除/ partone文件夾中的洞文件時,文檔數量變爲531833.這意味着一些文檔存儲在/ partone文件夾中。如何在彈性搜索中存儲碎片,何時需要路徑集(path.data)?

我從elasticsearch網站讀取如下: 多個數據位置允許將其條帶化。條紋很簡單,將整個文件放在其中一個位置,然後根據空間最大的位置決定放置文件的位置。

而我的問題是,如果條紋是基於最大的可用空間的位置,洞文件應存儲在parttwo文件夾中,其大小大於partone文件夾的大小,不是嗎?爲什麼在folderone中存在一個小文件?

回答

0

您引用的段落是指實際的Lucene索引。有一些細節與ES如何執行復制有關,也可以存儲在較小的驅動器上。當ES將數據沖洗到Lucene時,這些被清除。例如,對於-Des.path.data=/d/data/foo,/tmp/foo,索引維基百科幾分鐘後和執行-XPOST /_flush,我看到:

% du -ks /d/data/foo /tmp/foo 
205680 /d/data/foo 
776  /tmp/foo 
% df -h /d/data/foo /tmp/foo 
Filesystem      Size Used Avail Use% Mounted on 
/dev/sda5      294G 28G 251G 10% /d 
/dev/disk/by-uuid/074cc648... 106G 91G 11G 90%/

我很驚訝,但是,刪除一些文件出來/partone後,你能算文檔。刪除/tmp/foo後,我的索引無法使用。