【问题标题】:How can I transfer elasticsearch data from one data directory to another?如何将 elasticsearch 数据从一个数据目录传输到另一个数据目录?
【发布时间】:2015-02-19 08:33:54
【问题描述】:

场景: 我将 elasticsearch 的默认数据目录更改为其他目录,并在不重新启动服务器的情况下开始索引数据。事实证明,它将索引数据保存在默认目录(/var/lib/elasticsearch)而不是新目录中。在例行的服务器重启后,它转移到了新目录,现在我们的大部分数据都放在了默认目录中,其中一些放在了新目录中。

如何将旧目录中的数据与新目录中的数据合并? elasticsearch版本当然是一样的。

【问题讨论】:

  • “我把elasticsearch的默认数据目录改成了别的”——你到底做了什么?更改 elasticsearch.yml 中的path.data ?见:elasticsearch-users.115913.n3.nabble.com/…
  • 是的,我更改了 path.data。问题是数据放置在两个位置。我不能只将旧数据复制到新目录,因为那会覆盖那里的现有数据。我必须以某种方式合并数据。
  • 您是否尝试创建snapshot 然后恢复它?

标签: elasticsearch


【解决方案1】:

在 ElasticSearch 5.6 中编辑以下文件。

  1. cat /etc/default/elasticsearch | grep -i DATA_DIR'DATA_DIR=/mnt/elasticsearch

  2. cat /usr/lib/systemd/system/elasticsearch.service | grep -i Environment=DATA_DIR=/mnt/elasticsearch

重启服务

systemctl daemon-reload 
systemctl restart elasticsearch.service 

【讨论】:

    猜你喜欢
    • 2022-07-21
    • 2021-01-18
    • 1970-01-01
    • 1970-01-01
    • 2017-11-16
    • 1970-01-01
    • 2012-04-19
    相关资源
    最近更新 更多