一键部署 Elasticsearch 和 Kibana
ClearSky Drizzle Lv4

一键部署 Elasticsearch 和 Kibana

在开发或测试环境中,快速搭建 Elasticsearch 和 Kibana 是很多开发者的需求。通过 Docker Compose,可以非常方便地实现 Elasticsearch 和 Kibana 的一键部署。本篇文章将介绍如何使用 Docker Compose 快速部署 Elasticsearch 和 Kibana。

为什么使用 Docker 部署?

  • 简化环境配置:无需手动安装和配置 Elasticsearch 和 Kibana,直接使用官方镜像即可。
  • 快速启动和销毁:通过 Docker Compose,一条命令即可启动或删除整个服务集群。
  • 一致性:确保开发和测试环境与生产环境的一致性。

准备工作

  1. 确保已经安装以下工具:
  2. 确保机器有足够的资源。建议至少 2GB 内存可用,特别是 Elasticsearch 对内存需求较高。

创建 Docker Compose 配置文件

在项目目录下,新建一个文件 docker-compose.yml,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
version: '3.7'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.10
container_name: elasticsearch
environment:
- discovery.type=single-node
- ES_JAVA_OPTS=-Xms512m -Xmx512m
- xpack.security.enabled=false
- xpack.monitoring.collection.enabled=true
volumes:
- es_data:/usr/share/elasticsearch/data
ports:
- "9200:9200"
- "9300:9300"
networks:
- elastic

kibana:
image: docker.elastic.co/kibana/kibana:7.17.10
container_name: kibana
environment:
- ELASTICSEARCH_HOSTS=http://elasticsearch:9200
ports:
- "5601:5601"
networks:
- elastic

volumes:
es_data:
driver: local

networks:
elastic:
driver: bridge

配置解析

  • Elasticsearch:

    • discovery.type=single-node:设置为单节点模式,适合开发和测试环境。
    • ES_JAVA_OPTS=-Xms512m -Xmx512m:分配 512MB 内存,可以根据机器配置调整。
    • xpack.security.enabled=false:关闭安全功能,简化配置。
  • Kibana:

    • ELASTICSEARCH_HOSTS=http://elasticsearch:9200:指定 Elasticsearch 的地址。
  • Volumes: 使用持久化存储,确保数据在容器重启后不会丢失。

  • Networks: 定义自定义网络,保证容器间的通信。

启动服务

docker-compose.yml 文件所在的目录,运行以下命令:

1
docker-compose up -d
  • -d 参数表示以后台模式运行。
  • 运行成功后,Docker 会拉取 Elasticsearch 和 Kibana 的镜像,并启动对应的容器。

验证部署

  1. Elasticsearch:
    打开浏览器,访问 http://localhost:9200
    如果看到类似以下内容,说明 Elasticsearch 部署成功:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    {
    "name" : "<容器名>",
    "cluster_name" : "docker-cluster",
    "cluster_uuid" : "...",
    "version" : {
    "number" : "7.17.10",
    ...
    },
    ...
    }
  2. Kibana:
    打开浏览器,访问 http://localhost:5601
    如果看到 Kibana 的登录页面或加载界面,说明 Kibana 部署成功。

常见问题

1. 容器无法启动?

  • 检查机器是否有足够的内存。Elasticsearch 对内存需求较高,可以尝试增大内存分配:
    1
    2
    environment:
    - ES_JAVA_OPTS=-Xms1g -Xmx1g

2. Kibana 无法连接到 Elasticsearch?

  • 确保 ELASTICSEARCH_HOSTS 地址正确,且 Elasticsearch 容器已启动。
  • 检查 Kibana 和 Elasticsearch 的版本是否一致。

3. 数据如何持久化?

  • 默认使用 Docker 的 es_data 卷来存储 Elasticsearch 数据,可以通过以下命令查看卷:
    1
    docker volume ls

总结

通过 Docker Compose,我们可以非常方便地部署 Elasticsearch 和 Kibana,只需一条命令即可启动整个服务集群。这种方式非常适合开发和测试环境,能够节省大量配置时间。

如果你对这篇文章有任何疑问或建议,欢迎在评论区留言!

 Comments
Comment plugin failed to load
Loading comment plugin
Powered by Hexo & Theme Keep
This site is deployed on
Unique Visitor Page View