【运维】Ubuntu18.04系统docker方式安装ElasticSearch和kibana

前言

最近需要搭建一套测试环境,用到了ElasticSearch( 简称es)搜索引擎,安装过程有些曲折,记录下来作为经验。

正文

环境

  1. Ubuntu18.04 操作系统
  2. Docker Server Version: 20.10.7
  3. ElasticSearch Version: 8.5.3
  4. Kibana Version: 8.5.3

说明

ElasticSearch 是一个开源分布式搜索引擎,可以快速地储存、搜索和分析海量数据,Kibana是为ElasticSearch设计的可视化平台,可以用来搜索、查看ElasticSearch的数据,实现数据分析和图表的可视化。

安装及配置ElasticSearch和Kibana流程

1. 下载镜像

bash 复制代码
docker pull elasticsearch:8.5.3
docker pull kibane:8.5.3

2. 创建网络

bash 复制代码
docker network create es-net

3. 创建elasticsearch 挂载目录,设置访问权限

bash 复制代码
mkdir -p /data/es_docker/{config,data,logs,plugins}
chmod -R 777 /data/es_docker

4. 创建elasticsearch 容器

bash 复制代码
docker run -d --name elasticsearch -e ES_JAVA_OPTS="-Xms1024m -Xmx1024m" -e "discovery.type=single-node" -v /data/es_docker/data:/usr/share/elasticsearch/data  -v /data/es_docker/logs:/usr/share/elasticsearch/logs   -v /data/es_docker/plugins:/usr/share/elasticsearch/plugins  --privileged --restart=always --network es-net  -p 9200:9200 -p 9300:9300 elasticsearch:8.5.3

5. 配置elasticsearch用户及安全认证

bash 复制代码
docker exec -it [es_containerid] /bin/sh 
# 设置elastic 用户密码
elasticsearch-reset-password -u elastic -i
# 创建新的超级用户用于kibana登录
bin/elasticsearch-users useradd es_admin
# 根据提示设置密码 ..
# 设置超级用户权限
bin/elasticsearch-users roles -a superuser es_admin

可选\]关闭安全认证,需要安全认证的地方设置为false (我的情况未设置安全认证证书之类,后面访问kibana有问题,所以将此处关掉了) 修改config/elasticsearch.yml文件,红框中圈出来的部分是需要修改的地方 ![在这里插入图片描述](https://file.jishuzhan.net/article/1750736473201577986/1b11a5be63b2db30c5692cb5d82bdbdb.webp) \[可选\] 如上述修改过elasticsearch.yml ,需重启es容器 (docker resatrt \[es_containerid\]) #### 6. 查看容器运行情况并进行验证 ```bash # 查看容器是否运行成功 docker ps / docker ps -a # 查看容器日志 docker logs -f [es_containerid] ``` 访问 curl localhost:9200 ![在这里插入图片描述](https://file.jishuzhan.net/article/1750736473201577986/b07b20227ea046df19a83b5ed79a0f0f.webp) #### 7. 创建kibana 挂载目录,设置访问权限 ```bash mkdir -p /data/kibana_docker/{config,data,plugins} chmod -R 777 /data/kibana_docker ``` #### 8. 创建kibana容器 ```bash docker run -d --name kibana -p 5601:5601 --network es-net -e ELASTICSEARCH_URL=http://elasticsearch:9200 -e ELASTICSEARCH_HOSTS=http://elasticsearch:9200 -e ELASTICSEARCH_USERNAME="es_admin" -e ELASTICSEARCH_PASSWORD="xxx" -v /data/kibana_docker/data:/usr/share/kibana/data -v /data/kibana_docker/plugins:/usr/share/kibana/plugins --privileged --restart=always kibana:8.5.3 ``` #### 9. 验证kibana运行 浏览器地址栏中输入访问地址:http://ip:5601 ![在这里插入图片描述](https://file.jishuzhan.net/article/1750736473201577986/d315f371b57652bf55336f7eb25ad34e.webp) docker ps # 查看运行中的es和kibana 容器 ![在这里插入图片描述](https://file.jishuzhan.net/article/1750736473201577986/83851590bd5d803f2fc11b3071764ea3.webp) ### 问题\&解决 #### 1. kibana目录权限未设置 ![在这里插入图片描述](https://file.jishuzhan.net/article/1750736473201577986/cec5c013ef6db6a572bdf4c195c7d1e3.webp) 解决: 修改kibana 挂载目录的访问权限 (chmod -R 777 /data/kibana_docker) #### 2. kibana 不可访问,容器启动失败 ![在这里插入图片描述](https://file.jishuzhan.net/article/1750736473201577986/4b8773661daf3b0c982c010eab005fea.webp) 查看kibana 容器的日志,都有提到安全认证未通过的问题 ![在这里插入图片描述](https://file.jishuzhan.net/article/1750736473201577986/e9a6db65e482eb56307711470180b179.webp) ![在这里插入图片描述](https://file.jishuzhan.net/article/1750736473201577986/e3b6d949deb3f428dea5d08dd17f4764.webp) 解决:关闭安全认证,如上述5. 配置elasticsearch用户及安全认证 可选部分 ### 参考链接 [docker中安装elasticsearch](https://blog.csdn.net/qq_42123832/article/details/128517163) [https://www.elastic.co/guide/en/kibana/8.5/install](https://www.elastic.co/guide/en/kibana/8.5/install.html) ## 小结 基础运维操作,遇到类似的问题能有个思路。有时候在一件事情上花费时间太久需要停下来换个思路!

相关推荐
电星托马斯1 小时前
Linux系统CentOS 6.3安装图文详解
linux·运维·服务器·程序人生·centos
啞謎专家1 小时前
CentOS中挂载新盘LVM指南:轻松扩展存储空间,解决磁盘容量不足问题
linux·运维·服务器
s_little_monster1 小时前
【Linux】进程信号的捕捉处理
linux·运维·服务器·经验分享·笔记·学习·学习方法
浮尘笔记1 小时前
go-zero使用elasticsearch踩坑记:时间存储和展示问题
大数据·elasticsearch·golang·go
一大Cpp1 小时前
Ubuntu与本地用户交流是两种小方法
linux·运维·ubuntu
小王不会写code1 小时前
CentOS 7 镜像源失效解决方案(2025年)
linux·运维·centos
zyplanke1 小时前
CentOS Linux升级内核kernel方法
linux·运维·centos
程序员 小柴2 小时前
docker的与使用
java·docker·eureka
ghostwritten2 小时前
Docker Registry Clean
运维·docker·容器
niuniu_6662 小时前
简单的自动化场景(以 Chrome 浏览器 为例)
运维·chrome·python·selenium·测试工具·自动化·安全性测试