1 Elasticsearch家族成员及安装

ES是一款高度可伸缩的、分布式的、近实时搜索的开源全文搜索与分析引擎。

  • 分布式:ES是一款分布式搜索与分析引擎,底层实现还是基于Lucene的,核心思想是在多台机器上启动多个es进程实例,组成一个es集群。
  • 高伸缩性:集群规模,可按需伸缩。索引的副本分片数也可动态调整,对读性能进行伸缩。
  • 高可用性:ES提供了选主机制与副本机制,即使部分节点停止服务,整个集群依然可以正常服务。
  • 近实时性:数据写入时,定期Refresh Segment到os cache,并且Reopen Segment方式保证搜索可以在较短时间(比如默认1秒)内被搜索到。
  • 全文检索、数据分析
    • 一个分布式的实时文档存储,每个字段 可以被索引与搜索
    • 一个分布式实时分析搜索引擎
    • 能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据
    • 类似于 SQL 的分组(GROUP BY),而指标则类似于 COUNT()SUM()MAX() 等统计方法。

创始人

创始人是Shay Banon,2004年基于Lucene开发了Compass,2010年重写Compass,取名Elasticsearch。

在这里插入图片描述

名言:Search is something that any application should have.

这和我对愿景的想法是一致的,有时候大家出于某种纯粹的理想去做事情,可能就成了。

版本

Elasticsearch(ES)有多个版本,以下是一些主要版本及其发布时间:

  1. Elasticsearch 1.0 - 2014年2月发布
  • 这是Elasticsearch的一个早期比较重要的版本,初步建立了其分布式搜索和分析引擎的基本架构,具备了基本的索引、搜索和聚合功能。
  1. Elasticsearch 2.0 - 2015年10月发布
  • 在1.0版本基础上改进了性能,优化了索引和搜索的一些算法。
  • 增强了对数据处理的能力,例如在数据的索引和查询方面有了更多的功能优化。
  1. Elasticsearch 5.0 - 2016年10月发布
  • 性能提升显著,在索引速度、查询性能方面有很大改进。
  • 对内部数据结构进行了优化,如引入了新的文档存储格式,提高了磁盘空间的利用率并提升了读写性能。
  • 开始加强安全方面的功能,逐步走向企业级应用的成熟化。
  1. Elasticsearch 6.0 - 2017年11月发布
  • 进一步提升性能,尤其是在大规模数据处理场景下的性能优化。
  • 对索引生命周期管理(Index Lifecycle Management)进行了增强,方便用户更好地管理索引从创建到删除的整个过程。
  1. Elasticsearch 7.0 - 2019年4月发布
  • 性能改进的同时,在数据摄入(ingest)管道方面进行了优化,使得数据进入Elasticsearch之前的处理更加灵活高效。
  • 增强了安全功能,包括默认开启安全配置等措施,以更好地满足企业安全需求。
  1. Elasticsearch 8.0 - 2022年2月发布
  • 继续在性能、可扩展性方面发展,并且在与Kibana等Elastic Stack组件的集成方面更加紧密。
  • 更加注重云原生特性,以适应现代云计算环境下的部署和使用需求。

后续使用7.1版本进行练习

生态圈

在这里插入图片描述

软件名称作用说明
Kibana可视化分析利器,基于Logstash的数据可视化工具2013被ES收购
Elasticsearch数据存储、计算核心
Logstash数据处理管道,支持从不同来源采集数据,转换数据,并将数据发送到不同的存储库中。能实时解析和转换数据、可扩展200多插件、可靠性和安全性高、有监控诞生于2009年,2013被ES收购
Beat轻量的数据采集器,Go开发
X-Pack开源商业包,有不同收费策略2018年开源
云服务云服务方案

一般可以这样配合使用

在这里插入图片描述

实操

下面我们安装一下生态圈的软件,并进行简单的使用。安装方式很多,可以选择Docker一键安装,这次我们用安装包在Mac上安装。可以中文官网进行下载。

Elasticsearch

安装

下载地址:https://www.elastic.co/downloads/past-releases#elasticsearch ,我使用的7.1.0

在这里插入图片描述

目录说明

解压完后可以看到目录如下:

在这里插入图片描述

在这里插入图片描述

常用命令
#页面查看启动情况 http://localhost:9200/ 
1.启动:bin/elasticsearch  

#页面查看插件列表 http://localhost:9200/_cat/plugins,安装后重启才能看到
2.查看插件列表:bin/elasticsearch-plugin list

#可选择的插件 https://www.elastic.co/guide/en/elasticsearch/plugins/current/intro.html
3.安装插件:bin/elasticsearch-plugin install analysis-icu  

配置完毕后,只能通过localhost访问,不能使用IP,如果想用IP,需要改config/elasticsearch.yml

在这里插入图片描述

Kibana

Kibana大家应该都会用到,一般查日志用的比较多。

安装

Elasticsearch是核心,所以Kibana版本需要和ES保持一致。

下载地址:https://www.elastic.co/downloads/past-releases#kibana

在这里插入图片描述

常用命令
# 页面查看启动情况:http://localhost:5601 
1. 启动:bin/kibana
2. 查看插件:bin/kibana-plugin list

# 可选择插件:https://www.elastic.co/guide/en/kibana/current/kibana-plugins.html#known-kibana-plugins
3. 安装插件:bin/kibana-plugin install https://github.com/johtani/analyze-api-ui-plugin/releases/download/7.1.0/analyze_api_ui-7.1.0.zip

安装成功后可以将一些数据导入ES,并在Kibana查看效果

在这里插入图片描述

也可以使用Dev Tools功能,可以直接调试Es,目前看两者是无缝打通的

在这里插入图片描述

Cerebro

Cerebro不是Es的产品,是一个用于可视化和管理 Elasticsearch`集群的开源工具。它提供了一个直观的用户界面,让您能够轻松地监控、管理和诊断您的Elasticsearch集群。

安装失败

下载地址:https://github.com/lmenezes/cerebro/releases/tag/v0.8.3 ,下载tgz版本到本地,解压

安装jre:https://www.oracle.com/cn/java/technologies/downloads/archive/,选择11 https://www.oracle.com/cn/java/technologies/javase/jdk11-archive-downloads.html

docker安装

原生方式始终安装不成功,不浪费时间了,使用docker方式

docker pull chanmufeng/cerebro:0.9.4
# 查看启动 http://localhost:9000/,原生启动命令 bin/cerebro
docker run -p 9000:9000 chanmufeng/cerebro:0.9.4

配置ES的地址(如果是docker启动的,使用ES IP的地址)

在这里插入图片描述

在这里插入图片描述

Logstash

安装

下载地址:https://www.elastic.co/downloads/past-releases#logstash

也需要和ES相同的版本,但在mac上各种报错,各种java相关的不兼容

在这里插入图片描述

所以我选了7.10.0,这个有mac版,直接带JDK在这里插入图片描述

操作
1. 启动:bin/logstash -f logstash.conf(自建的配置文件,要处理的数据源,如何处理)

对应的logstash:logstash.conf

对应的数据文件: movies.csv

数据源:https://grouplens.org/datasets/movielens/

在这里插入图片描述

在Index Patterns创建索引

在这里插入图片描述

然后就能查看这些信息了

在这里插入图片描述

资料

  1. MacOS安装cerebro
  2. Elasticsearch 可视化集群工具 Cerebro
  3. macOS:卸载JRE或JDK
  4. db - Connection is not available
  5. M1芯片电脑安装cerebro
  6. 解决ElasticSearch本地只能通过localhost访问不能通过IP访问的问题。
  7. git资料
  8. [ERROR][org.logstash.Logstash ] java.lang.IllegalStateException: Logstas 报错解决
  9. Mac JDK环境变量配置 及 JDK多版本切换
  10. NotImplementedError: block device detection unsupported or native support failed to load
  11. Mac安装Ruby版本管理器(RVM)
  12. How to Install Ruby on macOS with RVM
  13. 如何在elasticsearch中查看Logstash打到elasticsearch的数据

最后

大家如果喜欢我的文章,可以关注我的公众号(程序员麻辣烫)

我的个人博客为:https://shidawuhen.github.io/

往期文章回顾:

  1. 设计模式

  2. 招聘

  3. 思考

  4. 存储

  5. 算法系列

  6. 读书笔记

  7. 小工具

  8. 架构

  9. 网络

  10. Go语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员麻辣烫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值