Elasticsearch、Kibana部署和集成

发布于:2025-07-16 ⋅ 阅读:(22) ⋅ 点赞:(0)

环境:Elasticsearch 9.0.3 docker容器部署

  • Elasticsearch Docker下载安装文档查找引导如下图

官网地址:https://www.elastic.co/

下载在这里插入图片描述
Docker安装引导
在这里插入图片描述
查找docker镜像资料
在这里插入图片描述
在这里插入图片描述
选择最新版本镜像
在这里插入图片描述

  • 问题:本地安装的docker 拉取不到镜像 可以参考这里
  1. 在配置有镜像加速地址的云服务器上拉取镜像,按照对应的系统来
    docker pull docker.elastic.co/elasticsearch/elasticsearch:9.0.3
  2. 将镜像包存为一个压缩文件
    docker save -o /usr/elasticsearch.tar docker.elastic.co/elasticsearch/elasticsearch
  3. 本地执行加载镜像命令
    sudo docker load -i /mnt/c/***/elasticsearch.tar
  4. 检查镜像是否加载成功
    sudo docker images -a
  • 创建网络桥连接以解决 elasticsearch kibana 和 filebeats的相互连接

docker network create -d bridge bridge-network

  • 启动容器

sudo docker run -d --network bridge-network --network-alias elasticsearch.net --name elasticsearch -p 9200:9200 -p 9300:9300 -e ES_SETTING_BOOTSTRAP_MEMORY__LOCK=true --ulimit memlock=-1:-1 --ulimit nofile=65536:65536 --cap-add=IPC_LOCK docker.elastic.co/elasticsearch/elasticsearch:9.0.3

注意:启动时报错为 ERROR: Elasticsearch died while starting up, with exit code 78 时
原因:Elasticsearch 启动时检查bootstrap失败,容器内无法锁定内存导致失败

  1. sudo sysctl -w vm.max_map_count=262144 :设置单个进程允许的最大虚拟内存映射区域数量, 默认值为:65530,但 Elasticsearch 会创建大量内存映射文件(尤其是使用 mmapfs 存储索引时),默认值可能不够用
  2. sudo sysctl -w vm.swappiness=1:设置内核交换分区的倾向程度,值 0 - 100,0代表尽量不使用,100积极使用交换分区swap
  • -d 标识以分离模式后台运行
  • 9200 用于对外提供HTTP REST服务端口
  • 9300 用于用于内部通讯各节点访问
  • –ulimit memlock=-1:-1 把容器进程的 memlock(锁定物理内存)软/硬限制设为 无限
  • –ulimit nofile=65536:65536 把容器进程能打开的最大文件描述符数软/硬限制提高到 65536
  • –cap-add=IPC_LOCK 给容器增加 IPC_LOCK Linux 能力(capability)(即 CAP_IPC_LOCK 一些系统操作能力
  • -e ES_SETTING_BOOTSTRAP_MEMORY__LOCK=true 启用内存锁

进入容器查看配置,然后将配置挂载出来方便操作,比如开启安全特性,账号密码不再在配置文件中设置

sudo docker exec -it elasticsearch /bin/sh
cd /usr/share/elasticsearch/config
cat elasticsearch.yml

进入容器设置用户密码
https://www.elastic.co/docs/deploy-manage/users-roles/cluster-or-deployment-auth/built-in-users
在这里插入图片描述

进入容器后 cd /usr/share/elasticsearch
执行 bin/elasticsearch-setup-passwords interactive
最后根据提示为每个账号设置密码

验证密码
在这里插入图片描述

  • 安装配套的可视化工具Kibana
docker pull docker.elastic.co/kibana/kibana:9.0.3

容器启动命令

sudo docker run -d --network bridge-network --network-alias kibana.net --name kibana -p 5601:5601 -v /mnt/d/docker/images/kibana.yml:/usr/share/kibana/config/kibana.yml docker.elastic.co/kibana/kibana:9.0.3

配置文件地址:/usr/share/kibana/config

备注:eleasticsearch 启用默认SSL开启,所以请用https访问, 另外kibana或默认校验es证书的有效性,在同一网络的情况下可以关闭

配置参考:
在这里插入图片描述
访问前端地址: http://localhost:5601/ 使用 elastic账号访问(要不又该说你没权限了)
在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到