java Elastic搜索多个数据目录,选择放置索引的位置
我在多台服务器上运行ElasticSearch。所有服务器都是相同的,都有两个磁盘:一个SSD和一个HDD。不用说,SSD的速度更快,体积更小
我知道,通过将路径添加到elasticsearch.yml
,可以在ES中设置多个数据目录。但是,在默认情况下,(根据我的发现),ES会根据可用磁盘空间的百分比自动选择使用哪个数据目录
有些索引对我来说比其他索引更重要,比如较新的索引(那些经常被查询的索引)需要放在SSD上,而那些查询较少的索引可以放在HDD上
如果可能的话,我需要做什么来完成这件事
是否将索引添加到路径
# 1 楼答案
这在Elasticsearch中是不可能的。是的,您可以指定多个数据路径,但这些路径不能“分配”到索引
目前,ES将在文件级别将数据分条到所有数据路径,这意味着碎片将分布在所有路径上:
另一方面,在2.0中this will change但是你仍然不能在一个数据路径上有一个索引,在另一个数据路径上有另一个索引
目前,针对您的用例的唯一解决方案是在“热”节点上安装SSD,在“冷”节点上安装HDD,这意味着一个带有SSD的ES节点和一个带有HDD的ES节点:https://www.elastic.co/guide/en/elasticsearch/guide/current/retiring-data.html#migrate-indices