【es】解决es报错failed to authenticate user [elastic]

【es】解决es报错failed to authenticate user elastic

1.背景

某天使用接口查询es数据时出现报错,没有返回数据。想到是测试环境的es因为没内存又挂了,于是上服务器重启服务。

但是重启后等待一段时间再次查询es,还是同样报错,显示连接拒接。于是lsof -i:9200查看端口,端口没起来。

查看日志,显示
org.elasticsearch.action.UnavailableShardsException: at least one primary shard for the index [.security-7] is unavailable"

failed to authenticate user [elastic]

2.分析

索引.security-7因为没有分片成功,索引不可用,无法对elastic用户进行鉴权,进而导致服务不可用。

3.解决方案

  1. 新建用户,删除.security-7相关索引,重新设置elastic用户密码
  2. 新建用户,备份.security-7相关索引快照,恢复索引。

方案一简单快捷,但是会导致原来设置的鉴权用户信息丢失。方案二则最大程度恢复原来的环境。

因为是测试环境,于是采用方案一进行处理。

4.操作步骤

4.1 创建restore_user用户
bash 复制代码
./bin/elasticsearch-users useradd restore_user -p xxxxx -r superuser

这个命令用于创建一个名为restore_user的Elasticsearch用户。

-p xxxxx 指定了用户的密码,实际应用中需要将 xxxxx 替换为实际的密码。

-r superuser 指定了用户角色为超级用户,即具有系统的最高权限。

4.2 删除.security相关索引

bash 复制代码
curl -X DELETE "127.0.0.1:9200/.security-*" -u restore_user

通过curl命令发送HTTP请求,使用DELETE方法删除Elasticsearch中以.security-*开头的所有索引。

-u restore_user 表示使用之前创建的 restore_user 用户进行身份验证。

4.3重置用户密码
bash 复制代码
./bin/elasticsearch-setup-passwords interactive

这个命令用于交互式地设置Elasticsearch的密码。

执行后系统会提示你输入各个内置用户的密码,包括 elastic、apm_system、kibana 等,以确保这些账户的密码得到设置。

5.备注

方案二没有尝试,如果有成功操作了的勇士,请反馈一下效果给我,谢谢~

相关推荐
木圭的AI时代指南6 小时前
Spark-X2.5 长输入 Agent 实测:全量读取陷阱与解释器寻找死循环复盘,附可复现任务
大数据·分布式·spark
dongsdh7 小时前
部署python
大数据·elasticsearch·搜索引擎
QYR-分析8 小时前
重轨受电弓行业深度报告:市场格局、技术迭代与发展前景
大数据·数据库·人工智能
镜像视界(浙江)科技有限公司8 小时前
《视频孪生之上:二维展示终结,三维空间计算重构城市逻辑》——跨摄像连续表达 × 三角测量厘米级定位 × 动态轨迹建模,构建新一代城市空间
大数据·人工智能·算法·矩阵·音视频·空间计算
大大大大晴天8 小时前
每天认识一个组件:元数据平台 DataHub
大数据
m0_547486668 小时前
《大数据分析导论》全套PPT课件2026
大数据·大数据分析
starzy19909 小时前
Flink高级之CEP深度剖析:Pattern API、NFA引擎与风控实战
大数据·flink
星禾元亨11 小时前
生成式 AI 时代的架构演进与 GEO 优化:实体企业 AI 落地避坑指南
大数据·人工智能·架构·自动化·创业创新
IT毕设实战小研11 小时前
基于大数据的国内主要农作物产量趋势分析与可视化
android·java·大数据·django·课程设计
OFIRM碳基硅基12 小时前
西游金蝉劫 IP · 之 《金蝉子前传渡缘劫》电影 20 亿票房触发 · 项目专项扶持协议 总览 拉格朗日光影动画-西游金蝉劫项目组
大数据·人工智能·西游金蝉劫·蝎子精·蝎子精女妖王·金蝉子前传渡缘劫