1 安装elasticsearch kibana
es在我们的日常开发中用得越来越多了,笔者也体验了下vmware的平台下安装es,期间也出现了各种各样的问题,走了不少的弯路。特此记下,希望对各位读者有用
- 扫描关注微信公众号,接收更多好文
开发环境
- 运行环境:centos 7
- shell工具:xshell
- elasticsearch: 7.4.2
- kibana: 7.4.2
2 安装elasticsearch
2.1 拉取并下载镜像
- 搜索镜像
# 拉取docker官方的镜像
docker search -f "is-official=true" elasticsearch
# 参数说明:-f 表示过滤条件; is-official=true 表示是否是官方认证
- 下载镜像
这里采用的是7.4.2的版本
docker pull elasticsearch:7.4.2
2.2 安装
docker run --name es -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 -d elasticsearch:7.4.2
# 参数说明:
# -e 表示容器内部的环境变量
# discovery.type=single-node 设置为单节点运行
# -p 表示端口映射
# --name 设置容器名称
# -d 表示后台运行该容器,并返回容器的ID
2.3 外部浏览器访问该端口,即可查看是否安装成功
外部浏览器请求:http://你的地址:9200
http://192.168.0.120:9200
# 0.120是笔者虚拟机中的地址
恭喜你elasticsearch已经安装成功了
2.4 常用操作及注意事项
- 查看容器日志
docker logs es
# 参数说明:es 表示容器名称
# 小伙伴在安装后访问浏览器出错,可以使用该命令排错
- 查看elasticsearch配置
docker inspect es
# 参数说明:es 表示容器名称
# 该命令可以查看es的全部配置,包括开放的端口,默认内存大小,挂载的目录等信息
3 安装kibana
3.1 拉取并下载镜像
# 查找镜像
docker search -f "is-official=true" kibana
# 下载镜像
docker pull kibana:7.4.2
elasticsearch与kibana的版本要保持一致
3.2 安装
- 运行容器
docker run --name kibana -p 5601:5601 -d kibana:7.4.2
- 查看es配置
查看es配置,并复制开放的ip端口
docker inspect es
3. 进入kibana容器并编辑
docker exec -it kibana /bin/bash
cd config
vi kibana.yml
- 将http://elasticsearch:9200修改成之前复制的es开放的IP端口 http://172.17.0.2:9200
- 并追加一下代码
xpack.security.encryptionKey: "122333444455555666666777777788888888"
xpack.reporting.encryptionKey: "122333444455555666666777777788888888"
最终效果:
4. 重启该容器
docker restart kibana
# 参数说明:kibana表示容器名称
- 在浏览器中验证是否安装成功
http://192.128.0.120:5601
若出现一下状况表示已经安装成功了
恭喜你kibana已经安装成功了
4 常见错误集锦
-
Kibana server is not ready yet
未配置正确导致无法访问,使用docker inspect kibana可以查找错误
-
Unable to revive connection: http://elasticsearch:9200/
在kibana.yml中未成功配置elasticsearch.hosts地址
-
No living connections
在kibana.yml中未成功配置elasticsearch.hosts地址
-
Generating a random key for xpack.encrypted_saved_objects.encryptionKey. To be able to decrypt encrypted saved objects attributes after restart, please set xpack.encrypted_saved_objects.encryptionKey in kibana.yml
在kibana.yml中未成功追加xpack.security.encryptionKey和xpack.reporting.encryptionKey
-
kibana中可能出现es big data的情况
优先考虑elasticsearch.hosts地址是否指向es,其次再查找是否是内存原因,最后尝试清除一下es数据缓存