我的 Ubuntu 计算机中有很多索引实际上导致了一些空间问题。指数每天都在增长。
所以我想把它移到另一个显然有更多空间的mount目录下。我怎么能安全地做到这一点?
我必须确保现有的ES 索引和Kibana
图表在移动后足够安全。
我做了什么:关注此SO并将Elasticsearch
的数据目录以某种方式移至目录(/ data / es_data)我需要,但在我这样做之后,我无法查看现有的索引以及Kibana
图表和信息中心也是我创建的。
我做错了吗?任何帮助都可以得到赞赏。
答案 0 :(得分:2)
FWIW如果是我,我会停止弹性搜索& kibana(& logstash,如果这是群集中唯一的弹性搜索节点),然后将旧数据目录移动到新位置:
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
一旦所有内容完成复制,你应该能够启动elasticsearch备份,它应该找到索引,因为它们没有移动,配置不需要更新。
如果您对一切正常工作感到高兴,可以删除/ var / lib / elasticsearch-old并回收您的空间。如果没有,您可以恢复旧数据,它应该继续工作。