使用 Docker Compose 部署 Elasticsearch + Kibana

这篇具有很好参考价值的文章主要介绍了使用 Docker Compose 部署 Elasticsearch + Kibana。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本篇文章主要介绍了使用 Docker Compse 部署 Elasticsearch + Kibana,并整合到 Spring Boot 项目中的详细步骤。

Elasticsearch + Kibana 版本: 7.17.0(7 的最新版本);Spring Boot 版本:2.7.5 。

Kibana 官方文档、Elasticsearch官方文档

服务器目录结构

—— root
  |—— mall  // 根目录
      |—— pack 
          |—— elastic
              |-- config
              	  |-- elasticsearch.yml		// Elasticsearch 配置文件
              |-- data	// Elasticsearch 数据目录
              |-- plugins       // Elasticsearch 插件目录
              |-- docker-compose.yaml	// 启动容器
              |-- kibana
              	  |-- kibana.yml	kibana 配置文件

部署 Elasticsearch 和 Kibana

启动容器

  1. config 目录下,编写 elasticsearch.yml 配置文件,内容如下。
network.host: 0.0.0.0
discovery.type: single-node
  1. kibana 目录下,编写 kibana.yml 配置文件,内容如下。
server.host: 0.0.0.0
server.name: kibana
  1. elastic 目录下,编写 docker-compose.yaml 配置文件,内容如下。
version: '3.3'
services:
    elasticsearch:
        restart: always
        image: elasticsearch:7.17.0    # 使用的镜像名称
        container_name: elasticsearch	# 容器名称
        ports:	# 指定暴露的端口
          - 9200:9200
          - 9300:9300
        environment: 
          - ES_JAVA_OPTS= -Xms2g -Xmx2g # 指定 JVM 内存大小
        volumes:	# 指定挂载目录
          - ~/mall/pack/elastic/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
          - ~/mall/pack/elastic/data:/usr/share/elasticsearch/data
          - ~/mall/pack/elastic/plugins:/usr/share/elasticsearch/plugins
        networks:	# 网络配置
           - elasticsearch-network
    kibana:
        restart: always
        image: kibana:7.17.0
        container_name: kibana
        ports:
         - 5601:5601
        depends_on:	# 服务依赖
          - elasticsearch
        volumes:
          - ~/mall/pack/elastic/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml
        networks:
          - kibana-network
networks:
  elasticsearch-network:
  kibana-network:
  1. 执行如下命令,启动容器。
docker-compose up -d	// 启动容器
docker-compose logs -f  // 查看容器启动日志
  1. 分别访问 localhost:9200localhost:5601 网址。显示如下信息和界面,说明 Elasticsearch 服务和 Kibana 服务部署成功。
{
  "name" : "cf55d2d2cfd9",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "ZqDLEOikRW-W8YU4qQuC5A",
  "version" : {
    "number" : "7.17.0",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "bee86328705acaa9a6daede7140defd4d9ec56bd",
    "build_date" : "2022-01-28T08:36:04.875279988Z",
    "build_snapshot" : false,
    "lucene_version" : "8.11.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

docker部署kibana,学习笔记,elasticsearch,docker,大数据

设置登陆密码

  1. 在 elasticsearch.yml 配置文件中添加如下配置
xpack.security.enabled: true
  1. 执行如下命令,进入到 elasticsearch 容器中。
docker exec -it elasticsearch /bin/bash
  1. 执行如下命令,设置密码。一共有七个用户,依次设置这七个用户的密码,我这里统一将密码设置成 123456。
/usr/share/elasticsearch/bin/elasticsearch-setup-passwords interactive

docker部署kibana,学习笔记,elasticsearch,docker,大数据

  1. 退出容器,然后在 kibana.yml 文件中添加如下配置。
elasticsearch.username: "elastic"
elasticsearch.password: "123456"
  1. 重新启动容器,再次访问页面,会出现弹框,输入用户名和密码登陆即可。默认用户名为:elastic
docker-compose down
docker-compose up -d

完整配置文件内容

更多配置可以参考官方文档。

  • elasticsearsh.yml
network.host: 0.0.0.0
discovery.type: single-node
xpack.security.enabled: true
  • kibana.yml
server.host: 0.0.0.0
server.name: kibana
elasticsearch.username: "elastic"
elasticsearch.password: "123456"

Spring Boot 整合 Elasticsearch

Spring Data Elasticsearch 官方文档

添加依赖

Spring Boot 版本要与 Elasticsearch 版本对应上,对应关系如下图所示。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
    <!--  版本为 Spring Boot 版本  -->
    <version>2.7.5</version> 
</dependency>

docker部署kibana,学习笔记,elasticsearch,docker,大数据

添加配置

在 application.yaml 配置文件中新增如下配置。

spring:
  elasticsearch:
    username: elastic
    password: 123456
    uris: http://192.168.107.65:9200  // 虚拟机地址
    connection-timeout: 10s

使用

本文只介绍 Elasticsearch 的基本使用,更详细的用法可以查看官方文档。

  1. 引入 ElasticsearchRestTemplate
@RestController
@RequestMapping("/demo")
public class Demo {
    @Resource
    private ElasticsearchRestTemplate elasticsearchRestTemplate;
    
    /**
    * 创建索引
    **/
    @GetMapping("/createIndex")
    public void createIndex() {
        IndexOperations indexOps = esRestTemplate.indexOps(IndexCoordinates.of("elasticsearch"));
        boolean result = indexOps.create();
    }
}
  1. 访问地址,创建索引。然后通过 Kibana 查看新增的索引。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-saUbKMoN-1686135145070)(null)]

问题

  1. elasticsearch 容器启动报错。原因是挂载的 data 目录权限不够。

    解决:执行命令 chmod -R 777 data ,然后重新启动容器即可。

docker部署kibana,学习笔记,elasticsearch,docker,大数据

  1. elasticsearch 容器内存占用高达 13G。

    解决:在 docker-compose.yaml 文件中添加如下配置,指定 JVM 内存占用大小。文章来源地址https://www.toymoban.com/news/detail-741374.html

environment:
  - ES_JAVA_OPTS= -Xms2g -Xmx2g

到了这里,关于使用 Docker Compose 部署 Elasticsearch + Kibana的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker-compose部署6.8.23版本elasticsearch+es-head+kibana多节点集群及部分排错处理

    现阶段很多elasticsearch部署都是7版本之上的,但部分要求是6.8版本,俩者很多配置参数存在差异问题,elasticsearch有状态服务,kubernetes和docker启动有点麻烦,最好用docker-compose启动,可以保证数据稳定。 节点信息 hosts信息 192.168.121.137 es-master 192.168.121.138 es-node1 master执行,node改

    2024年02月14日
    浏览(46)
  • 使用 Docker Compose V2 快速搭建日志分析平台 ELK (Elasticsearch、Logstash 和 Kibana)

    ELK 是指 Elasticsearch、Logstash 和 Kibana 这三个开源软件的组合。 Elasticsearch 是一个分布式的搜索和分析引擎,用于日志的存储,搜索,分析,查询。 Logstash 是一个数据收集、转换和传输工具,用于收集过滤和转换数据,然后将其发送到 Elasticsearch 或其他目标存储中。 Kibana 是一个数

    2024年01月20日
    浏览(54)
  • 【docker】使用docker安装部署elasticsearch+Kibana

    elasticsearch安装之后,十分消耗内存资源,需要手动配置限制内存大小。 elasticsearch和Kibana安装时,版本号需要一致。 本实验采用的Linux系统是 CentOS Linux release 7.9.2009 (Core) ,docker版本是 20.10.14 elasticsearch和kibana版本都是 8.2.0 Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分

    2024年02月02日
    浏览(53)
  • 利用docker compose 搭建 elasticsearch 和kibana

    本文介绍了从docker compose 搭建 elasticsearch 并安装IK 分词插件,然后再用kibana测试的详细步骤。 1.1 下载镜像 1.2 下载IK分词插件 从官方网站 Releases · medcl/elasticsearch-analysis-ik · GitHub 下载对应版本的分词插件,因为我们的 elasticsearch 为 7.17.1 所以下载 elasticsearch-analysis-ik-7.17.1.z

    2024年02月11日
    浏览(41)
  • docker部署elasticsearch:8.6.2, kibana,logstash 版本以及kibana的使用

    How to Run Elasticsearch 8 on Docker for Local Development Docker下elasticsearch8部署、扩容、基本操作实战(含kibana) 导入es数据 docker安装elasticsearch和head插件 docker安装elasticsearch和head插件,连接失败问题解决 需要输入token 生成token报错 ERROR: [xpack.security.enrollment.enabled] must be set to true to create an

    2024年02月16日
    浏览(78)
  • 【docker系列】docker-compose安装elasticsearch和kibana

    大家好,我是walker 一个从文科自学转行的程序员~ 爱好编程,偶尔写写编程文章和生活 欢迎关注公众号【 I am Walker 】,回复“电子书”,就可以获得200多本编程相关电子书哈~ 我的gitee:https://gitee.com/shen-chuhao/walker.git 里面很多技术案例! (1)、 [root@localhost docker]# mkdir es (

    2023年04月08日
    浏览(60)
  • 【ElasticSearch】基于Docker 部署 ElasticSearch 和 Kibana,使用 Kibana 操作索引库,以及实现对文档的增删改查

    Elasticsearch 和 Kibana 是强大的工具,用于构建实时搜索和数据可视化解决方案。Elasticsearch 是一个分布式、高性能的搜索引擎,可以用于存储和检索各种类型的数据,从文本文档到地理空间数据。Kibana 则是 Elasticsearch 的可视化工具,用于实时分析和可视化大规模数据集。 在本

    2024年02月06日
    浏览(83)
  • docker-compose部署单机ES+Kibana

    本次elasticsearch和kibana版本为8.2.2 使用环境:centos7.9 本次记录还包括:安装elasticsearch中文分词插件和拼音分词插件 1、创建目录和填写配置 2、准备中文分词插件和拼音分词插件 2.1 获取中文和拼音分词插件 下载地址: https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.2

    2024年04月14日
    浏览(45)
  • docker-compose 搭建 elasticsearch8.2.0 + kibana 8.2.0

    最近研究es,搭建环境的时候发现网上的很多文档大部分都是用来记录自己操作的,不过中间还是出现了很多问题,单独的文档还不能解决这些问题。我决定记录下来中间发生的问题,还有解决方案。还有在windows上docker-compose搭建的,原理一样不过不好操作中间很多问题可能和

    2024年02月03日
    浏览(53)
  • Docker部署Elasticsearch+Kibana

    2024年02月15日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包