ElasticSearch多数据目录,选择索引的放置位置

Dan*_*son 3 java configuration elasticsearch

我在多台服务器上运行ElasticSearch.所有服务器都相同,都有2个磁盘:一个SSD和一个HDD.不用说,SSD更快但更小.

我知道你可以通过添加路径来在ES中设置多个数据目录elasticsearch.yml.但是,默认情况下(根据我的发现),ES会根据可用磁盘空间的百分比自动选择要采用的数据目录.

有些索引对我来说比其他索引更重要,比较新的(那些被大量查询的索引)需要在SSD上,而那些将被查询的索引可以在硬盘上.

如果可能的话,我需要做什么才能完成这项工作?
添加索引到路径?

And*_*fan 6

这在Elasticsearch中是不可能的.是的,您可以指定多个数据路径,但不能将这些路径"分配"到索引.

目前,ES会将文件级别的数据分条到所有数据路径,这意味着分片将分布在所有路径上:

目录的路径,用于存储为此节点分配的索引数据.

path.data:/ path/to/data

可以选择包含多个位置,从而使数据在文件级别的位置(la RAID 0)上进行条带化,从而有利于创建时具有最多可用空间的位置.例如:

path.data:/ path/to/data1,/ path/to/data2

另一方面,在2.0中,这将改变,但您仍然无法在数据路径上获得索引,而在另一个数据路径上也无法获得另一个索引.

目前,您的唯一解决方案是在"热"节点上安装SSD,在"冷"节点上安装HDD,这意味着一个带有SSD的ES节点和一个带有HDD的ES节点:https://www.elastic.co /guide/en/elasticsearch/guide/current/retiring-data.html#migrate-indices