使用两个不同的磁盘卷来存储elasticsearch

using two different disk volumes to store elasticsearch

我 运行 在数字海洋服务器上使用 elasticsearch,我的磁盘空间不足 space。所以我添加了一个 3Gb 的额外卷。

/dev/vda1        59G   47G  9.6G  83% /
/dev/sda         100G   0G   100G  0% /mnt/volume2

我的 elasticsearch 数据库中的索引非常大

test-index 0     p      STARTED    27240256  83.3gb 127.0.0.1 h3awYIM

是否可以将elasticsearch数据分两卷存储?

/var/www# curl -XGET 'localhost:9200'
{
  "name" : "WU6cQ-o",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "hKc147QfQqCefLliStLNtw",
  "version" : {
    "number" : "5.1.1",
    "build_hash" : "5395e21",
    "build_date" : "2016-12-06T12:36:15.409Z",
    "build_snapshot" : false,
    "lucene_version" : "6.3.0"
  },
  "tagline" : "You Know, for Search"
}

编辑: 根据下面 Val 的建议,我为 es 提供了一个 path.data 标志,例如

-Epath.data=/var/lib/elasticsearch,/mnt/volume2/es_data

这似乎工作正常

是的,您绝对可以将索引数据存储在多个存储位置。只需打开您的 elasticsearch.yml 配置文件并修改 path.data setting 以包含您要存储数据的所有卷。

在你的情况下,它应该是这样的(你的路径可能会有所不同):

path:
  data:
    - /var/data/elasticsearch
    - /mnt/volume2/data/elasticsearch

您需要重新启动 ES 才能使此更改生效。