我有一个节点elasticsearch集群,并使用两个存储shadrs的路径对其进行配置,例如path.data:/partone,/parttwo。 1 GB硬盘安装在/ partone文件夹上,5 GB硬盘安装在/ parttwo文件夹中。我使用了大约483 MB的文件来索引,然后在这个节点中出现了536644个文档。当我删除/ partone文件夹中的孔文件时,文档数变为531833.这意味着一些文档存储在/ partone文件夹中。
我从elasticsearch网站上读到如下: 多个数据位置允许对其进行条带化。条带化很简单,将整个文件放在其中一个位置,并根据具有最大可用空间的位置决定放置文件的位置。
我的问题是如果条带化是基于具有最大可用空间的位置,则孔文件应存储在parttwo文件夹中,其大小比partone文件夹大,不是吗?为什么在folderone中存在一个小文件?
答案 0 :(得分: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
后,我的索引无效。