elasticsearch - 如何在 Elasticsearch 未运行时清理 Elasticsearch 节点上的完整磁盘
问题描述
我有 Elasticsearch 7.4,有 1 个主节点和 5 个数据节点(Amazon ec2 实例)。我有 cluster.routing.allocation.disk.threshold_enabled 设置 = false 现在节点中的一个磁盘已满,并且由于磁盘已满错误而停止了弹性搜索。
ElasticsearchException[failed to load metadata]; nested: IOException[No space left on device];
/dev/nvme1n1p1 493G 468G 0 100% /disk1
在此之后,集群仅显示 4 个数据节点,9 个分片仍未分配,搜索请求被拒绝,而其他节点的磁盘上仍有足够的空间。
我想通过 POST API 删除旧数据来腾出一些空间,但这在这种情况下不起作用。
现在我的问题是,如何清理这个节点上的磁盘,而它只包含弹性搜索数据并且在集群中不可用。
谢谢您的帮助。
解决方案
elasticsearch 使用 UUID 将索引文件保存在 DATA 文件夹中。您可以在 elasticsearch.yml 中找到您的 DATA 文件夹路径。
你也可以找到索引UUIDGET /_cat/indices?v
考虑到我假设您有基于时间的索引并且可以删除索引。如果你想删除一些离线索引的文档,那是不可能的。
推荐阅读
- python - 根据 Python 中的列值对列进行排序
- javascript - (Node.js) 将 JS 类拆分为模块
- python - 给定相异矩阵,如何在 Python 中执行 PAM 聚类?
- python - 如何在python中分隔单词?
- javascript - 文档样式正在注入注入的弹出窗口
- python - 将变量用作模块调用触发器时遇到问题
- node.js - macOS(10.13.6)npm 安装错误 - 在节点版本 9.8.0 的 fiber@4.0.3 安装脚本中失败
- vue.js - 如何在抽屉蚂蚁设计中安装模态
- fortran - Mac更新后编译umfpack时出错
- php - 如何在 Carbon php 中使用自定义格式?