背景
鉴于网上大部分是6 或者7的教程,有点老旧,使用最新版8.0.1。
因为在安装中遇到一点配置问题,遂去查阅文档,并且这部分网上比较少,所以记录一下,方便后面的同学学习使用elasticsearch最新版给个参照。
本机环境
# elasticsearch kibana 2个版本要一一对应
➜ conf docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
elasticsearch 8.0.1 a19fb2049f96 13 days ago 652MB
kibana 8.0.1 9fab8ca82613 13 days ago 953MB
安装
步骤一:创建elastic网络
docker network create elastic
步骤二:docker run 并指定网络 elastic 不然后续没法通信
# -e ES_JAVA_OPTS="-Xms512m -Xmx512m" 如果是在测试阶段 建议加上这个配置,不然可能会老是断掉
docker run --name es-node01 --net elastic -p 9200:9200 -p 9300:9300 -t elasticsearch:8.0.1
注意:
- 步骤二会产生一个token,用于步骤三的登陆
- token 有效期是半个小时
-> Configure other nodes to join this cluster:
* Copy the following enrollment token and start new Elasticsearch nodes with `bin/elasticsearch --enrollment-token <token>` (valid for the next 30 minutes):
eyJ2ZXIiOiI4LjAuMSIsImFkciI6WyIxNzIuMjQuMC40OjkyMDAiXSwiZmdyIjoiNmE4ZWM4NjFlZDk2M2Q4NGUzMjk0ZTc4OTZjZmM0ZmUwOTYyYWY4YjgwZWQzYjNiM2VlZDA5OTE1MDZhZTQwMyIsImtleSI6ImVpTVdjMzhCNUFtZHUyblFzN2Y2OlRhalU1OXJVUWZPQ1JDNnFGbEphb1EifQ==
If you're running in Docker, copy the enrollment token and run:
`docker run -e "ENROLLMENT_TOKEN=<token>" docker.elastic.co/elasticsearch/elasticsearch:8.0.1`
如果token过期,或者清屏了,可以用如下命令生成新的token
➜ ~ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
14bdcb85f7e9 elasticsearch:8.0.1 "/bin/tini -- /usr/l…" 10 minutes ago Up 10 minutes 0.0.0.0:9500->9200/tcp, 0.0.0.0:9600->9300/tcp es-node01
# 进入 elasticsearch 镜像
➜ ~ docker exec -it 14bdcb85f7e9 /bin/bash
# 用 elasticsearch-create-enrollment-token 生成新token
elasticsearch@14bdcb85f7e9:~$ bin/elasticsearch-create-enrollment-token --scope kibana
WARNING: Owner of file [/usr/share/elasticsearch/config/users] used to be [root], but now is [elasticsearch]
WARNING: Owner of file [/usr/share/elasticsearch/config/users_roles] used to be [root], but now is [elasticsearch]
eyJ2ZXIiOiI4LjAuMSIsImFkciI6WyIxNzIuMjQuMC4yOjkyMDAiXSwiZmdyIjoiZTg2MzVkNTQxNDM4ZTkyZDU4NDE4NDExNjVhZjQ4Y2FlZmJjYmZhMmI1N2RlNzAxODgwYjUxNzcxYWY1MmJmNyIsImtleSI6IjQ1UTZjMzhCTnhoZ19Zc1oxWUh0OmI0SEhrWjZKVE5tZnpqTWp3WGVsNkEifQ==
步骤三 指定网络 elastic 不然后续没法通信
docker run --name kib-01 --net elastic -p 5601:5601 kibana:8.0.1
打开http://0.0.0.0:5601/?code=414780 是不是很激动,然而配置刚开始,填入步骤二的token
注意: 如果这里停在Completing setup,并转圈很久的话,应该是刚刚elasticsearch改token导致elasticsearch停止了,这里启动下elasticsearch就好,问题不大。
➜ conf docker start 14bdcb85f7e9
14bdcb85f7e9
结果
~ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6b55c628936c kibana:8.0.1 "/bin/tini -- /usr/l…" 21 minutes ago Up 21 minutes 0.0.0.0:5601->5601/tcp kib-01
14bdcb85f7e9 elasticsearch:8.0.1 "/bin/tini -- /usr/l…" 33 minutes ago Up 16 minutes 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp es-node01
bin/elasticsearch-create-enrollment-token --scope kibana
➜ flink docker start 14bdcb85f7e9
14bdcb85f7e9
步骤四 设置账号密码
看到账号密码是不是很慌,之前没有设置这个,查阅文档
➜ ~ docker exec -it 91197a2a35cc /bin/bash
elasticsearch@91197a2a35cc:~$ bin/elasticsearch-reset-password -u elastic
This tool will reset the password of the [elastic] user to an autogenerated value.
The password will be printed in the console.
Please confirm that you would like to continue [y/N]y
Password for the [elastic] user successfully reset.
New value: edBcP-3ciGogXaQ_IXtd
elasticsearch@91197a2a35cc:~$
End,就可以操作了
进阶
汉化
- 打开 /usr/share/kibana/config/kibana.yml
- 在文档末尾加入
i18n.locale: zh-CN
- 重启kibana
来源
-
elasticsearch官方安装文档 www.elastic.co/guide/en/el…
-
kibana官方安装文档 www.elastic.co/guide/en/ki…
-
kibana.yml www.elastic.co/guide/en/ki…