0

我现在有许多索引实际上在我的Ubuntu机器上造成了一些空间问题。指数每天都在增长。

所以我想把它移到另一个显然有更多空间的挂载目录。我怎样才能安全地做到这一点?

而且我必须确保现有的 ES指数Kibana图表在移动后足够安全。

我做了什么:按照这个SO并以某种方式将我的数据目录移动到我需要Elasticsearch的目录(/data/es_data),但是在我这样做之后,我无法查看我现有的索引以及我创建的Kibana 图表仪表板.

难道我做错了什么?任何帮助都将不胜感激。

4

1 回答 1

3

FWIW 如果是我,我会停止 elasticsearch & kibana(& logstash,如果这是集群中唯一的 elasticsearch 节点),然后将旧数据目录移到一个新位置:

sudo mv /var/lib/elasticsearch /var/lib/elasticsearch-old

然后使用文件系统设置新卷(它应该比磁盘上的索引大小至少大 15%,因为 elasticsearch 不会在可用空间小于 15% 的磁盘上创建新索引)并找到取出它的 UUID 并准备安装它:

sudo fdisk /dev/sdX # New volume, use all the space
sudo mkfs.ext4 /dev/sdX1
ls -la /dev/disk/by-uuid/ | grep /dev/sdX1 # Or forget the grep and manually look for it

然后将以下内容添加到您的 /etc/fstab 中,替换为上一个命令中的 UUID:

UUID=<RESPONSE> /var/lib/elasticsearch  ext4 defaults 0 0

在旧目录消失时创建新目录,它可能需要 chowning(我假设所有者应该是 elasticsearch 但您可以通过检查旧文件夹的所有权来确认)并且您想从旧目录中复制内容:

sudo mkdir /var/lib/elasticsearch
sudo chown -R elasticsearch: /var/lib/elasticsearch
cp -rp /var/lib/elasticsearch-old/* /var/lib/elasticsearch

一旦所有内容都完成复制,您应该能够启动弹性搜索备份,它应该找到索引,因为它们没有移动,配置不需要更新。

一旦您对一切正常感到满意,您就可以删除 /var/lib/elasticsearch-old 并回收您的空间。如果您无法恢复到旧数据,它应该可以继续工作。

于 2017-01-27T11:22:04.990 回答