ElasticSearch-全文检索和分析引擎学习Day01
创始人
2024-03-03 11:41:33
0

前言

学习谷粒商城基础片完结后便开启了高级部分的学习,高级部分的第一章节 Elasticsearch 搜索和分析引擎。文档地址:elasticsearch中文文档地址

一、Elasticsearch 简介

1.1 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 发送数据。

1.2 Elasticsearch 的用途

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

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

1.3 Elasticsearch 工作原理

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

1.4 Logstash 的用途

Logstash 是 Elastic Stack 的核心产品之一,可用来对数据进行聚合和处理,并将数据发送到 Elasticsearch。Logstash 是一个开源的服务器端数据处理管道,允许您在将数据索引到 Elasticsearch 之前同时从多个来源采集数据,并对数据进行充实和转换。

1.5 Kibana 的用途

Kibana 是一款适用于 Elasticsearch 的数据可视化和管理工具,可以提供实时的直方图、线形图、饼状图和地图。Kibana 同时还包括诸如 Canvas 和 Elastic Maps 等高级应用程序;Canvas 允许用户基于自身数据创建定制的动态信息图表,而 Elastic Maps 则可用来对地理空间数据进行可视化。

二、Docker 安装ES和Kibana

2.1 下载镜像文件

#存储和检索数据
docker pull elasticsearch:7.4.2 #可视化检索数据
docker pull kibana:7.4.2 

若出现如下错误,则表明连接超时,我们更换镜像即可。

Unable to find image 'elaticsearch' locally
docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
See 'docker run --help'.

解决方案
1.执行如下命令

vim /etc/docker/daemon.json

2.粘贴到daemon.json文件中

{"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
}

3.重启docker容器

systemctl restart docker

若出现如下错误,则表明虚拟机未联网,需要将虚拟机联网。

Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on [::1]:53: read udp [::1]:39306->[::1]:53: read: connection refused

解决方案
1.解决centos7连不上网络的问题链接
2.解决后执行 docker pull elasticsearch:7.4.2 和 docker pull kibana:7.4.2 完成镜像下载。

2.2 创建实例

mkdir -p /mydata/elasticsearch/config 
mkdir -p /mydata/elasticsearch/data echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml chmod -R 777 /mydata/elasticsearch/ 保证权限
[root@localhost config]# docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data  -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:7.4.2
146e8018abb25ea77482783685d6279b0ad2b23f7153f16f83c467f3bb4ca594
[root@localhost config]# docker ps -a
CONTAINER ID   IMAGE                 COMMAND                  CREATED              STATUS              PORTS                                                                                  NAMES
146e8018abb2   elasticsearch:7.4.2   "/usr/local/bin/dock…"   About a minute ago   Up About a minute   0.0.0.0:9200->9200/tcp, :::9200->9200/tcp, 0.0.0.0:9300->9300/tcp, :::9300->9300/tcp   elasticsearch
e22de2962734   redis                 "docker-entrypoint.s…"   6 weeks ago          Up 8 minutes        0.0.0.0:6379->6379/tcp, :::6379->6379/tcp                                              redis
62bab71c9c70   mysql:5.7             "docker-entrypoint.s…"   8 months ago         Up 8 minutes        0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp                                   mysql

以后再外面装好插件重启即可; 特别注意: -e ES_JAVA_OPTS=“-Xms64m -Xmx256m” \ 测试环境下,设置 ES 的初始内存和最大内存,否则导 致过大启动不了 ES

[root@localhost config]# docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.220.131:9200 -p 5601:5601  -d kibana:7.4.2
e8df2cb8d0ef66d3ee8c02c0eb015d174cef731b61feb8711a4cf84c9d5e849d
[root@localhost config]# docker ps -a
CONTAINER ID   IMAGE                 COMMAND                  CREATED          STATUS          PORTS                                                                                  NAMES
e8df2cb8d0ef   kibana:7.4.2          "/usr/local/bin/dumb…"   53 seconds ago   Up 51 seconds   0.0.0.0:5601->5601/tcp, :::5601->5601/tcp                                              kibana
146e8018abb2   elasticsearch:7.4.2   "/usr/local/bin/dock…"   33 minutes ago   Up 33 minutes   0.0.0.0:9200->9200/tcp, :::9200->9200/tcp, 0.0.0.0:9300->9300/tcp, :::9300->9300/tcp   elasticsearch
e22de2962734   redis                 "docker-entrypoint.s…"   6 weeks ago      Up 40 minutes   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp                                              redis
62bab71c9c70   mysql:5.7             "docker-entrypoint.s…"   8 months ago     Up 40 minutes   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp                                   mysql

http://192.168.220.131:9200 一定改为自己虚拟机的地址

访问 Elasticsearch 出现如下界面,则说明安装成功。
在这里插入图片描述
访问 Kibana出现如下界面,则说明安装成功。
在这里插入图片描述

相关内容

热门资讯

美国2年期国债收益率上涨15个... 原标题:美国2年期国债收益率上涨15个基点 美国2年期国债收益率上涨15个基...
汽车油箱结构是什么(汽车油箱结... 本篇文章极速百科给大家谈谈汽车油箱结构是什么,以及汽车油箱结构原理图解对应的知识点,希望对各位有所帮...
嵌入式 ADC使用手册完整版 ... 嵌入式 ADC使用手册完整版 (188977万字)💜&#...
重大消息战皇大厅开挂是真的吗... 您好:战皇大厅这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...
盘点十款牵手跑胡子为什么一直... 您好:牵手跑胡子这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游...
senator香烟多少一盒(s... 今天给各位分享senator香烟多少一盒的知识,其中也会对sevebstars香烟进行解释,如果能碰...
终于懂了新荣耀斗牛真的有挂吗... 您好:新荣耀斗牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信8435338】很多玩家在这款游戏...
盘点十款明星麻将到底有没有挂... 您好:明星麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【5848499】很多玩家在这款游戏...
总结文章“新道游棋牌有透视挂吗... 您好:新道游棋牌这款游戏可以开挂,确实是有挂的,需要了解加客服微信【7682267】很多玩家在这款游...
终于懂了手机麻将到底有没有挂... 您好:手机麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...