【运维】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) ## 小结 基础运维操作,遇到类似的问题能有个思路。有时候在一件事情上花费时间太久需要停下来换个思路!

相关推荐
Leinwin2 小时前
OpenClaw 多 Agent 协作框架的并发限制与企业化规避方案痛点直击
java·运维·数据库
2401_865382502 小时前
信息化项目运维与运营的区别
运维·运营·信息化项目·政务信息化
漠北的哈士奇2 小时前
VMware Workstation导入ova文件时出现闪退但是没有报错信息
运维·vmware·虚拟机·闪退·ova
如意.7592 小时前
【Linux开发工具实战】Git、GDB与CGDB从入门到精通
linux·运维·git
运维小欣3 小时前
智能体选型实战指南
运维·人工智能
yy55273 小时前
Nginx 性能优化与监控
运维·nginx·性能优化
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ4 小时前
Linux 查询某进程文件所在路径 命令
linux·运维·服务器
05大叔5 小时前
网络基础知识 域名,JSON格式,AI基础
运维·服务器·网络
安当加密5 小时前
无需改 PAM!轻量级 RADIUS + ASP身份认证系统 实现 Linux 登录双因子认证
linux·运维·服务器
dashizhi20155 小时前
服务器共享禁止保存到本地磁盘、共享文件禁止另存为本地磁盘、移动硬盘等
运维·网络·stm32·安全·电脑