背景

某天对着ES一顿操作猛如虎,然后第二天发现打开kibana发现进不去(连登陆页面都出不来),排查ES的log,发现如下报错

failed to retrieve password hash for reserved user [elastic]
org.elasticsearch.action.UnavailableShardsException: at least one primary shard for the index [.security-7] is unavailable

搜索了一下,这个意思是.security-7索引崩溃。(崩什么不好,崩这个)
.security-7索引中应该包含了用户登录等一些信息,这个崩了,整个ES都登不了,更不用说重建索引什么的了。所以网络上一切由kibana控制台进行的恢复操作,全部pass

后来是在ES官网找到了这么个办法
在这里插入图片描述链接:https://discuss.elastic.co/t/elk-7-8-0-two-node-cluster-at-least-one-primary-shard-for-the-index-security-7-is-unavailable/261031
虽然我不是docker部署的,但是这招有参考意义,于是我模仿这招添加了restore_user用户,删掉了.security-7。重启ES,这次ES启动不报错了。

重新访问kibana,发现仍然无法访问,kibana报账号密码连接错误,那么判断是因为我删了.security-7,ES自己重建之后,账号密码没有初始化。
于是,使用

./elasticsearch-setup-passwords interactive

重置了所有密码。
然后重启ES重新访问,大功告成

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐