使用Docker Compose搭建部署ElasticSearch的配置过程

目录
  • 什么是 Elasticsearch?
  • Elasticsearch 的用途是什么?
  • Elasticsearch 的工作原理是什么?
  • Elasticsearch 索引是什么?
  • 说明
  • 一、目录准备
  • 二、es配置准备
  • 三、准备docker-compose.yml
  • 四、启动容器
  • 五、查看

什么是 Elasticsearch?

  Elasticsearch 是一个分布式的开源搜索和分析引擎,适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化数据。Elasticsearch 在Apache Lucene 的基础上开发而成,由 Elasticsearch N.V.(即现在的 Elastic)于 2010 年首次发布。Elasticsearch 以其简单的 REST 风格 API、分布式特性、速度和可扩展性而闻名,是 Elastic Stack 的核心组件;Elastic Stack 是适用于数据采集、充实、存储、分析和可视化的一组开源工具。人们通常将Elastic Stack 称为 ELK Stack(代指 Elasticsearch、Logstash 和 Kibana),目前 Elastic Stack 包括一系列丰富的轻量型数据采集代理,这些代理统称为Beats,可用来向 Elasticsearch 发送数据。

Elasticsearch 的用途是什么?

Elasticsearch 在速度和可扩展性方面都表现出色,而且还能够索引多种类型的内容,这意味着其可用于多种用例:

  • 应用程序搜索
  • 网站搜索
  • 企业搜索
  • 日志处理和分析
  • 基础设施指标和容器监测
  • 应用程序性能监测
  • 地理空间数据分析和可视化
  • 安全分析
  • 业务分析

Elasticsearch 的工作原理是什么?

  原始数据会从多个来源(包括日志、系统指标和网络应用程序)输入到 Elasticsearch 中。数据采集指在 Elasticsearch 中进行索引之前解析、标准化并充实这些原始数据的过程。这些数据在 Elasticsearch 中索引完成之后,用户便可针对他们的数据运行复杂的查询,并使用聚合来检索自身数据的复杂汇总。在 Kibana 中,用户可以基于自己的数据创建强大的可视化,分享仪表板,并对 Elastic Stack 进行管理。

Elasticsearch 索引是什么?

  Elasticsearch 索引指相互关联的文档集合。Elasticsearch 会以 JSON 文档的形式存储数据。每个文档都会在一组键(字段或属性的名称)和它们对应的值(字符串、数字、布尔值、日期、数值组、地理位置或其他类型的数据)之间建立联系。

  Elasticsearch 使用的是一种名为倒排索引的数据结构,这一结构的设计可以允许十分快速地进行全文本搜索。倒排索引会列出在所有文档中出现的每个特有词汇,并且可以找到包含每个词汇的全部文档。

  在索引过程中,Elasticsearch 会存储文档并构建倒排索引,这样用户便可以近实时地对文档数据进行搜索。索引过程是在索引 API 中启动的,通过此API 您既可向特定索引中添加 JSON 文档,也可更改特定索引中的 JSON 文档。

说明

由于我本机配置较低,无法开启多台虚拟机,ES的集群需要用到不同的ip,故而只搭建单机,不做集群。

一、目录准备

mkdir /docker/es
mkdir /docker/es/data
mkdir /docker/es/config
mkdir /docker/es/plugins

二、es配置准备

cd /docker/es
vi elasticsearch.yml

使用以下配置:

# 集群名称
cluster.name: elasticsearch-cluster
# 节点名称
node.name: es-node-1
# 绑定host,0.0.0.0代表当前节点的ip
network.host: 0.0.0.0
# 设置其它节点和该节点交互的ip地址,如果不设置它会自动判断,值必须是个真实的ip地址(本机ip)
network.publish_host: 192.168.200.135
# 设置对外服务的http端口,默认为9200
http.port: 9200
# 设置节点间交互的tcp端口,默认是9300
transport.tcp.port: 9300
# 是否支持跨域,默认为false
http.cors.enabled: true
# 当设置允许跨域,默认为*,表示支持所有域名,如果我们只是允许某些网站能访问,那么可以使用正则表达式。比如只允许本地地址。 /https?:\/\/localhost(:[0-9]+)?/
http.cors.allow-origin: "*"
# 表示这个节点是否可以充当主节点
node.master: true
# 是否充当数据节点
node.data: true
# 所有主从节点ip:port
#discovery.seed_hosts: ["192.168.200.135:9300"]  #本地只有一个节点,无法正常启动,先注释
# 这个参数决定了在选主过程中需要 有多少个节点通信  预防脑裂 N/2+1
discovery.zen.minimum_master_nodes: 1
#初始化主节点
#cluster.initial_master_nodes: ["es-node-1"]  #本地只有一个节点,无法正常启动,先注释

三、准备docker-compose.yml

vi docker-compose.yml

内容如下:

version: '3'

services:
 elasticsearch:
  image: elasticsearch:6.8.13
  restart: always
  hostname: es1
  container_name: es-single
  volumes:
   - /docker/es/data:/usr/share/elasticsearch/data
   - /docker/es/plugins:/usr/share/elasticsearch/plugins
   - /docker/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
  environment:
   - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
   - discovery.type=single-node
  ports:
    - '9200:9200'     #java、集群通信端口
    - '9300:9300'     #http通信端口
  privileged: true    #环境变量

四、启动容器

docker-compose up -d

五、查看

docker-compose ps

如果启动是吧,可以使用docker container logs 容器id/es-single logs 查看启动日志

参考:

docker部署redis/mongodb/rabbitmq中的es小节

如果出现启动日志中出现java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes,需要给data目录设置权限 chmod 777 /docker/es/data

到此这篇关于使用DockerCompose搭建部署ElasticSearch的文章就介绍到这了,更多相关DockerCompose部署ElasticSearch内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Docker Compose多容器部署的实现

    一.wordpress部署 这里先以wordpress的部署为例引出Docker Compose,wordpress的部署需要wordpress和mysql的镜像: (一)准备环境 1.拉取wordpress镜像 [root@docker-node1 /]# docker pull wordpress 2.拉取mysql镜像 [root@docker-node1 /]# docker pull mysql 3.镜像列表 [root@docker-node1 /]# docker image ls

  • Docker Compose快速部署多容器服务实战的实例详解

    目录 1 什么是Docker Compose 2 安装Docker Compose 3 Docker Compose文件格式的简单介绍 4 Docker Compose常用命令 5 使用Docker Compose一键部署Spring Boot+Redis实战 5.1 构建应用 5.1.1 Spring Boot项目 5.1.2 Redis配置文件 5.2 打包应用并构建目录 5.2.1 打包Spring Boot项目 5.2.2 上传redis.conf配置文件 5.3 编写Dockerfil

  • docker compose部署主从复制的实现

    目录 配置解析 服务搭建 目录结构 Compose File 实例配置 启动服务 测试 受限于 Redis 单点性能,加上我们对数据天生就有的备份的需求,因此 Redis 提供了主从复制的服务. 本文记录了通过 docker compose 搭建一主双从的 Redis 服务. 配置解析 ################################# REPLICATION ################################# # [Slave]连接 Master 的配置 # s

  • 使用Docker Compose搭建部署ElasticSearch的配置过程

    目录 什么是 Elasticsearch? Elasticsearch 的用途是什么? Elasticsearch 的工作原理是什么? Elasticsearch 索引是什么? 说明 一.目录准备 二.es配置准备 三.准备docker-compose.yml 四.启动容器 五.查看 什么是 Elasticsearch? Elasticsearch 是一个分布式的开源搜索和分析引擎,适用于所有类型的数据,包括文本.数字.地理空间.结构化和非结构化数据.Elasticsearch 在Apache

  • docker compose 一键部署分布式配置中心Apollo的过程详解

    简介 说起分布式肯定要想到分布式配置中心.分布式日志.分布式链路追踪等 在分布式部署中业务往往有很多配置比如: 应用程序在启动和运行时需要读取一些配置信息,配置基本上伴随着应用程序的整个生命周期,比如:数据库连接参数.启动参数等,都需要去维护和配置,但不可能一台台服务器登录上去配置 今天我要跟大家分享一下分布式配置中心Apollo: Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等

  • Docker Compose搭建Wordpress服务实现详解

    目录 前言 编写docker-compose.yaml 注意点 前言 最近在研究wordpress独立建站,在项目部署的时候也踩了一些坑,为了避免再次踩坑,特此通过此文章记录一下. 编写docker-compose.yaml 此次建站采用的是docker compose的方式来部署wordpress项目,我们可以进入DockerHub官网找到wordpress镜像: 根据官方文档提供的信息,最终我们可以编写出如下docker-compose.yaml: version: "3.1" s

  • 使用docker compose搭建consul集群环境的例子

    consul基本概念 server模式和client模式 server模式和client模式是consul节点的类型:client不是指的用户客户端. server模式提供数据持久化功能. client模式不提供持久化功能,并且实际上他也不工作,只是把用户客户端的请求转发到server模式的节点.所以可以把client模式的节点想象成LB(load balance),只负责请求转发. 通常server模式的节点需要配置成多个例如3个,5个.而client模式节点个数没有限制. server模式启

  • 如何使用 docker compose 搭建 fastDFS文件服务器

    上篇文章给大家介绍了使用docker compose安装FastDfs文件服务器的实例详解 今天给大家介绍如何使用 docker compose 搭建 fastDFS文件服务器,内容详情如下所示: 平台 :Mac M1 备注:关于 IP Address 关于 docker 的网络模式,上述文中提到了 docker 的 Host 模式: 如果启动容器的时候使用host模式,那么这个容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个 Network Namespace.

  • 使用docker compose一键部署WordPress博客的方法

    目录 1.创建wordpress项目目录 2.创建docker-compose.yml配置文件 3.一键启动wordpress项目 4.查看相关信息参数 5.配置wordpress 1.创建wordpress项目目录 [root@docker ~]# mkdir wordpress [root@docker ~]# cd wordpress/ [root@docker wordpress]# 2.创建docker-compose.yml配置文件 [root@docker wordpress]#

  • 详解docker compose搭建lnmpr环境实现

    目录 使用docker-compose搭建lnmpr环境 介绍 软件架构 Compose 简介 具体文件内容docker-compose.yml 使用说明 使用docker-compose搭建lnmpr环境 本文环境 docker20.10,PHP8.1(含扩展)+ Nginx1.22 + MySQL8.0 + Mongo6.0 + Redis6.0 + Swoole2.0 介绍 docker-compose搭建PHP8.1(含扩展)+ Nginx1.22 + MySQL8.0 + Mongo6

  • Docker Compose 搭建简单的Python网络应用程序(步骤详解)

    目录 前提条件 第1步:设置 第2步:创建一个Dockerfile 第3步:在Compose文件中定义服务 Web服务 Redis服务 第4步:用Compose构建和运行你的应用 第5步:编辑Compose文件以添加绑定挂载 第6步:用Compose重新构建并运行应用程序 第7步:更新应用程序 第8步:试验一些其他命令 在这个页面上,你可以建立一个简单的Python网络应用程序,运行在Docker Compose上.该应用使用Flask框架,并在Redis中维护一个点击计数器.虽然样本使用了Py

  • 使用Docker Compose搭建 Confluence的教程

    本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载.或重新修改使用,但需要注明来源. 署名 4.0 国际 (CC BY 4.0) 本文作者: 苏洋 创建时间: 2019年03月30日 统计字数: 5170字 阅读时间: 11分钟阅读 本文链接: https://soulteary.com/2019/03/30/construct-confluence-with-docker.html 使用 Docker 搭建 Confluence 小型团队协同,或者想花钱买个省心,Conf

随机推荐