网站运营
位置:首页>> 网站运营>> 使用Docker Compose搭建部署ElasticSearch的配置过程

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

作者:划破黑夜  发布时间:2021-12-14 13:41:33 

标签:Docker,Compose,ElasticSearch

什么是 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搭建部署ElasticSearch的配置过程

五、查看

docker-compose ps

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

如果启动是吧,可以使用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

来源:https://www.cnblogs.com/wugang/p/14493031.html

0
投稿

猜你喜欢

  • 每个搜索引擎都有各自收录、排名的原则、规则或者方法。所谓的SEO专业知识,其实实质上是指怎么样去设计一个更优秀的网站,去设计一个更高效率的网
  • 越来越多的网站和博客开始投放Google AdSense广告,随之而来的是每个发布者的喜悦和烦恼。“今天的广告费又多了”,“单价竟然上涨了0
  • 2006年9月7日,一个不太显眼的投资行动悄悄完成,李嘉诚的航母旗舰:长实(001HK)和和黄(0013HK)抛售了一家美国互联网公司22%
  • 世界上总有些事物值得大家去反复玩味,比如“美女”这码子事。古时候的《陌上桑》里写罗敷,只写“少年见罗敷,脱帽著鞘头……耕者忘其田,锄者忘其锄
  • WordPress版本更新非常频繁。这个月WordPress 3.2的Beta 1版本已经发布,如果不出意外,下个月我们会迎来3.2正式版。
  • 背景:在用jmeter压测接口的时候发现其原生的监控起来不是很友好,在网上查阅的时候发现结合influxDB和grafana,出来的报告很炫
  • 更新!一个没有采用最新的安全补丁进行更新的系统会很快称为攻击者的目标。已经完成配置安全系统所需的所有工作之后,要记住:CGI脚本将是最大的安
  • 这是一场无声似有声的战争,一场没有硝烟的战争,相信很多个站都像我一样,期待两大Php Cms系统的发布。毕竟他们是很多个站的衣食父母,他们养
  • 本文主要给大家介绍了关于linux尝试登录失败后锁定用户账户的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍吧。pam_tall
  • 1、利用win2000的安全配置工具来配置策略微软提供了一套的基于MMC(管理控制台)安全配置和分析工具,利用他们你可以很方便的配置你的服务
  • 有Godaddy主机用户问可以给Godaddy添加域名吗?那当然了,从某一个托管帐户托管多个域名是有可能的。Deluxe及Premium计划
  • 尽管在公开场合,几乎每个人都承认,SEO(搜索引擎优化)能否取得预期的效果,取决于网站的内容质量。但是,也不可否认,在许多人的潜意识里,仍然
  • 在这里以PHP5为例介绍一下Windows下Apache和PHP5的安装与配置方法。一 下载安装程序Apache可以从http://www.
  • 使用过嘀咕的“嘀神”插件的用户都知道,这个插件可以实现将嘀咕信息即时同步到其他微博客的功能。对于Twitter重度用户,可能也会需要将Twi
  • 网址规范化一直是困扰站长以及搜索引擎的一个问题。据估计,网上有10%-30%的URL是内容相同但URL不一样的不规范化网址。这就造成几个问题
  • 作为链接专题系列的第二篇, 我们想与您讨论一下链接架构的重要性,并且回答您相关的问题。链接架构---您网站的内部链接方式——是您在网站规划中
  • 最近购买IX主机的用户非常多,虽然IX推出了中文页面,但是购买过程仍然是英文的。所以笔者这里主要讲解一下如何使用优惠码来获得最低的价格购买。
  • 反向链接、网站结构优化、关键词布置,并列搜索引擎优化三 * 门,其中,反向链接的获得往往是做SEO的朋友最感头痛的。芋头在这里总结了最实用的七
  • Sendmail是在Unix环境下使用最广泛的实现邮件发送/接受的邮件传输代理程序。 由于Sendmail邮件服务器的特点是功能强大而复杂,
  • 西方的传统节日万圣节,是一个神秘又有趣的节日,同样是西方故事背景的《商业大亨》自由城,也准备了趣味的万圣节活动,以及南瓜头像南瓜装,与各位大
手机版 网站运营 asp之家 www.aspxhome.com