elasticsearch7.16.2 报错 index_closed_exception的完美解决方法

查询状态报错

http://10.6.8.68:9201/_stats

复制代码
{
    "error": {
        "root_cause": [
            {
                "type": "index_closed_exception",
                "reason": "closed",
                "index_uuid": "cg5r0A_ITPyxdZlJE3vneA",
                "index": ".ds-lystest-2024.04.11-2024.04.11-000001"
            }
        ],
        "type": "index_closed_exception",
        "reason": "closed",
        "index_uuid": "cg5r0A_ITPyxdZlJE3vneA",
        "index": ".ds-lystest-2024.04.11-2024.04.11-000001"
    },
    "status": 400
}

解决方法

方案:执行post请求

http://10.6.8.68:9201/索引名称/_open

http://10.6.8.68:9201/.ds-lystest-2024.04.11-2024.04.11-000001/_open

复制代码
{
	"acknowledged": true,
	"shards_acknowledged": true
}

原理

index_closed_exception 是 Elasticsearch 中的一个异常类型,它通常发生在尝试对一个已经被关闭(closed)的索引执行搜索、写入或其他操作时。在 Elasticsearch 中,索引是用来存储和检索数据的逻辑命名空间,可以将其类比为关系型数据库中的表。

当索引被关闭时,它将不再接受任何写操作(如索引文档或更新文档),并且某些读操作(如搜索)也可能会失败,具体取决于操作类型和Elasticsearch集群的配置。关闭索引是一种管理手段,可以用于暂时停止对索引的写入操作,比如在进行维护、备份或迁移操作时。

如果你遇到了 index_closed_exception 异常,通常意味着你需要检查以下几点:

  1. 索引状态 :确认你尝试操作的索引是否确实处于关闭状态。你可以使用 Elasticsearch 的 _cat/indices API 来查看所有索引的状态。

  2. 重新打开索引 :如果索引不应该被关闭,你可能需要重新打开它。这可以通过 Elasticsearch 的 _open API 来完成。

  3. 维护操作:如果索引是因为维护操作而关闭的,确保维护操作已经完成,并且可以安全地重新打开索引。

  4. 权限问题:在某些情况下,即使索引是打开的,如果没有足够的权限,也可能会收到类似的异常。确保你使用的 Elasticsearch 用户有足够的权限来操作该索引。

  5. 集群状态:如果集群处于不稳定状态或正在进行某些操作(如重新分配分片),也可能导致索引看起来像是关闭的。检查集群的健康状况和日志,以获取更多信息。

如果你确定需要打开索引,并且没有其他维护任务正在进行,你可以使用以下 Elasticsearch API 命令来打开索引:

shell 复制代码
POST /your_index_name/_open

替换 your_index_name 为你想要打开的索引名。这将重新打开索引,并允许你对其执行正常的读写操作。如果索引仍然不能打开,或者出现其他问题,建议检查 Elasticsearch 的日志文件以获取更多详细信息和潜在的解决方案。

参考

完全免费不限次数gpt,最新地址http://124.220.104.235/web/chatgpt,复制浏览器打开即可,电脑效果更佳,无需注册直接免费使用,免费写代码的神器https://comate.baidu.com/?inviteCode=lidyda6v

相关推荐
惊起白鸽45020 分钟前
LVS负载均衡
运维·负载均衡·lvs
伤不起bb2 小时前
NoSQL 之 Redis 配置与优化
linux·运维·数据库·redis·nosql
广东数字化转型2 小时前
nginx怎么使用nginx-rtmp-module模块实现直播间功能
linux·运维·nginx
love530love2 小时前
【笔记】在 MSYS2(MINGW64)中正确安装 Rust
运维·开发语言·人工智能·windows·笔记·python·rust
啵啵学习2 小时前
Linux 里 su 和 sudo 命令这两个有什么不一样?
linux·运维·服务器·单片机·ubuntu·centos·嵌入式
数字芯片实验室3 小时前
寄存器模型生成:从手工到自动化
运维·自动化
冰橙子id4 小时前
linux——磁盘和文件系统管理
linux·运维·服务器
咕噜企业签名分发-淼淼4 小时前
应用app的服务器如何增加高并发
运维·服务器
b***25114 小时前
18650锂电池组点焊机:高效组装锂电池的关键工具|比斯特自动化
运维·自动化
leagsoft_10034 小时前
联软NSPM自动化策略管理 助力上交所加速国产化替代提升运维效率
运维·网络·自动化