如何在两个位置之间移动Elasticsearch节点

时间:2019-03-07 22:04:23

标签: elasticsearch

我具有e​​lasticsearch设置,因此它将数据存储在两个位置,这意味着我具有elasticsearch.yml

path.data:/ path_one / es_data,/ path_two / elasticsearch

我希望elasticsearch会自动找出有更多可用空间,并在可能的情况下存储新的传入数据,但是相反,我发现在任何一个位置内存不足时,它都会开始崩溃。所以我想将一个节点从path_one移到path_two。

当前看起来像这样

ls -lha /path_one/es_data/nodes/0/indices/
drwxr-xr-x 3 elasticsearch elasticsearch 4.0K Mar  7 03:13 A4XXnhNdTwKILyeE39UosA
drwxr-xr-x 3 elasticsearch elasticsearch 4.0K Mar  7 03:13 C2BPWKL4T3-jHIfZXNKG6g
drwxr-xr-x 3 elasticsearch elasticsearch 4.0K Mar  7 03:13 c8mFFi56RAyRYNpHOUvG4g
drwxr-xr-x 6 elasticsearch elasticsearch 4.0K Mar  7 03:13 DEk-qwdnSLOHbP_-nAhSdw
drwxr-xr-x 3 elasticsearch elasticsearch 4.0K Mar  7 03:13 kV32aUcET1WrlKXWOunGhg
drwxr-xr-x 3 elasticsearch elasticsearch 4.0K Mar  7 03:13 pGmjsSJHRAiMUC5paYfjag
drwxr-xr-x 3 elasticsearch elasticsearch 4.0K Mar  7 03:13 T1k45bs2SUGHJ6dJniPjZg

ls -lha /path_two/elasticsearch/nodes/0/indices/
drwxr-xr-x 4 elasticsearch elasticsearch 4.0K Mar  7 03:13 A4XXnhNdTwKILyeE39UosA
drwxr-xr-x 4 elasticsearch elasticsearch 4.0K Mar  7 03:13 C2BPWKL4T3-jHIfZXNKG6g
drwxr-xr-x 4 elasticsearch elasticsearch 4.0K Mar  7 03:13 c8mFFi56RAyRYNpHOUvG4g
drwxr-xr-x 5 elasticsearch elasticsearch 4.0K Mar  7 03:13 DEk-qwdnSLOHbP_-nAhSdw
drwxr-xr-x 4 elasticsearch elasticsearch 4.0K Mar  7 03:13 pGmjsSJHRAiMUC5paYfjag
drwxr-xr-x 3 elasticsearch elasticsearch 4.0K Mar  7 03:13 

T1k45bs2SUGHJ6dJniPjZg     drwxr-xr-x 4 elasticsearch elasticsearch 4.0K 3月7日03:13 XpHUz15oTbGG0Bvnf2xZsw

所以我的第一个问题是,为什么两个节点上都存在某些节点?我的第二个问题是我是否可以

  1. 停止弹性搜索
  2. 将节点复制到
  3. 重新启动弹性搜索

还是我必须做更多的事情?

编辑:我在日志文件中发现了一些看起来相关的消息

[2019-03-07T17:08:21,910][WARN ][o.e.c.r.a.DiskThresholdMonitor] [WU6cQ-o] high disk watermark [90%] exceeded on [WU6cQ-oTR2Ssg3LzoI4_yg][WU6cQ-o][/var/lib/elasticsearch/elasticsearch/nodes/0] free: 984.7mb[1.6%], shards will be relocated away from this node
[2019-03-07T17:08:51,944][WARN ][o.e.g.DanglingIndicesState] [WU6cQ-o] [[paper-index/XpHUz15oTbGG0Bvnf2xZsw]] can not be imported as a dangling index, as index with same name already exists in cluster metadata

如此看来,elasticsearch似乎正在尝试移动索引,但是不能因为其他位置已经存在这些索引的副本吗?我可以只在有更多空间的位置删除副本吗?

1 个答案:

答案 0 :(得分:0)

一个Elasticsearch实例corresponds to one node。在path.data中设置两个位置并不意味着您有两个节点在同一主机上运行,​​而是在两个位置上存储节点的数据(请参见documentation)。因此,要回答第一个问题,可以预期同一节点的数据分布在各个位置。

关于您的第二个问题,我不理解您的流程,主要是因为我不确定您正在运行多个节点。

Elastic documentation开始,我们对跨位置分布数据所了解的就是Elasticsearch将与同一分片相关的文件存储在同一位置。

希望有帮助