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 在速度和可扩展性⽅⾯都表现出⾊,⽽且还能够索引多种类型的内容,这意味着其可⽤于多种⽤例:应⽤程序搜索
⽹站搜索
企业搜索
⽇志处理和分析
基础设施指标和容器监测
应⽤程序性能监测
mysql下载jar包地理空间数据分析和可视化
安全分析
业务分析
Elasticsearch 的⼯作原理是什么?
原始数据会从多个来源(包括⽇志、系统指标和⽹络应⽤程序)输⼊到 Elasticsearch 中。数据采集指在 Elasticsearch 中进⾏索引之前解析、标准化并充实这些原始数据的过程。这些数据在 Elasticsearch 中索引完成之后,⽤户便可针对他们的数据运⾏复杂的查询,并使⽤聚合来检索⾃⾝数据的复杂汇总。在 Kibana 中,⽤户可以基于⾃⼰的数据创建强⼤的可视化,分享仪表板,并对 Elastic Stack 进⾏管理。
Elasticsearch 索引是什么?
Elasticsearch 索引指相互关联的⽂档集合。Elasticsearch 会以 JSON ⽂档的形式存储数据。每个⽂档都会在⼀组键(字段或属性的名称)和它们对应的值(字符串、数字、布尔值、⽇期、数值组、地理位置或其他类型的数据)之间建⽴联系。
Elasticsearch 使⽤的是⼀种名为倒排索引的数据结构,这⼀结构的设计可以允许⼗分快速地进⾏全⽂本搜索。倒排索引会列出在所有⽂档中出现的每个特有词汇,并且可以到包含每个词汇的全部⽂档。
在索引过程中,Elasticsearch 会存储⽂档并构建倒排索引,这样⽤户便可以近实时地对⽂档数据进⾏搜索。索引过程是在索引 API 中启动的,通过此 API 您既可向特定索引中添加 JSON ⽂档,也可更改特定索引中的 JSON ⽂档。
Logstash 的⽤途是什么?
Logstash 是 Elastic Stack 的核⼼产品之⼀,可⽤来对数据进⾏聚合和处理,并将数据发送到 Elasticsearch。Logstash 是⼀个开源的服务器端数据处理管道,允许您在将数据索引到 Elasticsearch 之前同时从多个来源采集数据,并对数据进⾏充实和转换。
Kibana 的⽤途是什么?
Kibana 是⼀款适⽤于 Elasticsearch 的数据可视化和管理⼯具,可以提供实时的直⽅图、线形图、饼状图和地图。Kibana 同时还包括诸如 Canvas 和 Elastic Maps 等⾼级应⽤程序;Canvas 允许⽤户基于⾃⾝数据创建定制的动态信息图表,⽽ Elastic Maps 则可⽤来对地理空间数据进⾏可视化。
为何使⽤ Elasticsearch?
**Elasticsearch 很快。**由于 Elasticsearch 是在 Lucene 基础上构建⽽成的,所以在全⽂本搜索⽅⾯表现⼗分出⾊。Elasticsearch 同时还是⼀个近实时的搜索平台,这意味着从⽂档索引操作到⽂档变为可搜索状态之间的延时很短,⼀般只有⼀秒。因此,Elasticsearch ⾮常适⽤于对时间有严苛要求的⽤例,例如安全分析和基础设施监测。
**Elasticsearch 具有分布式的本质特征。**Elasticsearch 中存储的⽂档分布在不同的容器中,这些容器称为分⽚,可以进⾏复制以提供数据冗余副本,以防发⽣硬件故障。Elasticsearch 的分布式特性使得它可以扩展⾄数百台(甚⾄数千台)服务器,并处理 PB 量级的数据。
**Elasticsearch 包含⼀系列⼴泛的功能。**除了速度、可扩展性和弹性等优势以外,Elasticsearch 还有⼤量强⼤的内置功能(例如数据汇总和索引⽣命周期管理),可以⽅便⽤户更加⾼效地存储和搜索数据。
**Elastic Stack 简化了数据采集、可视化和报告过程。**通过与 Beats 和 Logstash 进⾏集成,⽤户能够在向 Elasticsearch 中索引数据之前轻松地处理数据。同时,Kibana 不仅可针对 Elasticsearch 数据提供实时可视化,同时还提供 UI 以便⽤户快速访问应⽤程序性能监测 (APM)、⽇志和基础设施指标等数据。
Elasticsearch特点
1. ⽀持分布式集
可以作为⼀个⼤型分布式集(数百台服务器)技术,处理PB级数据,服务⼤公司;也可以运⾏在单机上,服务⼩公司
2. ⽀持将全⽂检索、数据分析以及分布式
Elasticsearch不是什么新技术,主要是将全⽂检索、数据分析以及分布式技术,合并在了⼀起,才形成了独⼀⽆⼆的ES;lucene(全⽂检索),商⽤的数据分析软件(也是有的),分布式数据库(mycat)
3. 开箱即⽤的,⾮常简单
对⽤户⽽⾔,是开箱即⽤的,⾮常简单,作为中⼩型的应⽤,直接3分钟部署⼀下ES,就可以作为⽣产环境的系统来使⽤了,数据量不⼤,操作不是太复杂
4. 不⽀持事务,还有各种联机事务型的操作
数据库的功能⾯对很多领域是不够⽤的(事务,还有各种联机事务型的操作);
5. 特殊的功能
⽐如全⽂检索,同义词处理,相关度排名,复杂数据分析,海量数据的近实时处理;Elasticsearch作为传统数据库的⼀个补充,提供了数据库所不不能提供的很多功能
Elasticsearch的基本概念
**1) Near Realtime(NRT) *近实时,es从数据写⼊到数据被搜索到有⼀个延时(⼤概1秒),基于es执⾏的搜索和分析可以达到妙级
(2) Cluster: 集,包含多个节点,每个节点属于哪个集是通过⼀个配置(集名称)来决定,节点可以分散到各个机器上。
**(3) Node:**节点,集中的⼀个节点,如果默认启动1个或者多个节点,那么他们⾃动组成⼀个集。⼀个elasticsearch实例即就是⼀个节点。每个节点可以有多个shard,但是primary shard和对应replica shard 不能在同⼀个节点上。
**(4)document:**⽂档,es中最⼩的数据单元,有json串组成,⾥⾯包含多个field,每个field即是⼀个数据字段。
**(5)index:**索引,包含⼀堆具有相似结构的⽂档数据,⼀个索引默认有5个primary shard,⼀个primary shard 对应⼀个replica shard,即(5个primary shard 和5个replica shard。
**(6)type:**类型,每个索引有⼀个或者多个type,type是index中的⼀个逻辑数据分类,⼀个type下的document,应该都有相同field
安装Elastcsearch
jdk1.8以上
ES选择哪个版本?
ELK es logstash kibana ik分词器 head插件
es是⼀个⾮关系型数据库,和redis是⼀样的
redis是⼀个键值对的数据库
但是es是⼀个⽂档类型的数据库
版本对应
到相互对应的版本
下载Elastsearch
下载KiBana
Kibana 是⼀款适⽤于 Elasticsearch 的数据可视化和管理⼯具,可以提供实时的直⽅图、线形图、饼状图和地图。Kibana 同时还包括诸如 Canvas 和 Elastic Maps 等⾼级应⽤程序;Canvas 允许⽤户基于⾃⾝数据创建定制的动态信息图表,⽽ Elastic Maps 则可⽤来对地理空间数据进⾏可视化。⽹址
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论