闲的无事,把自己服务器的ES
和Kibana
从7.10.1
升级到8.x
, 记录一下遇到的问题。
问题现象
启动服务,ES
正常,但在浏览器访问http://127.0.0.1:5601
提示未准备就绪
,日志提示:
1 | [FATAL][root] Error: [config validation of [elasticsearch].username]: value of "elastic" is forbidden. This is a superuser account that cannot write to system indices that Kibana needs to function. Use a service account token instead. Learn more: https://www.elastic.co/guide/en/elasticsearch/reference/8.0/service-accounts.html |
翻译:elastic
这是一个超级用户帐户,不能写入Kibana
需要运行的系统索引,使用服务账户令牌代替。
解决方案
修改docker-compose.yaml
(容器编排脚本), 不要直接使用- ELASTICSEARCH_PASSWORD=xxxx
,改用-ELASTICSEARCH_SERVICEACCOUNTTOKEN=MY_TOKEN
:
1 | ... |
使用命令docker-compose up -d
拉起ES
、Kibana
后, 生成token
:
1 | curl -X POST -u elastic:password "localhost:29200/_security/service/elastic/kibana/credential/token/token1?pretty" |
回填token
替换docker-compose.yaml
中的MY_TOKEN
,再重新执行命令docker-compose up -d
更新容器, 问题解决。
引用
以上。