ElasticSearch入门与安装使用

目录

一、ES简介

1、什么是ElasticSearch?

2、ES的使用场景

3、ES的优势

二、ES与Solr对比

三、ES安装及使用示例

1、安装ES

2、安装可视化界面 elasticsearch-head

      1)nodejs环境安装 

       2)elasticsearch-head安装

四、Kibana的安装


一、ES简介

1、什么是ElasticSearch?

  • ES是Elastic技术栈中核心组件,是一个基于JSON的分布式搜索和分析引擎。
  • ES构建于Lucene之上,使用REST API进行数据操作
  • Elastic技术栈主要包括ElasticSearch(存储、搜索、分析)、LogStash与Beats(收集、聚合和丰富数据)以及Kibana(数据可视化、管理和检测、解决方案),技术栈简称为ELK
  • ES作为分布式文档存储(JSON文档),提供近实时的搜索(使用索引)
  • 具有扩展性和弹性
  • 默认是集群化的,一个节点也称之为集群!

2、ES的使用场景

      ES可用于存储和索引数据,但是一般不会单独使用ES,其典型的应用场景有:

  • 将ES作为项目的后端系统:ES不支持事务,可使用版本控制来管理并发;
  • 添加到现有系统中提供搜索功能:将ES和其他存储系统相结合,利用其提供高效的数据搜索;
  • 作为现有解决方案的后端部分:ELK海量日志数据的存储、搜索和事件分析(借助现有工具,不必从头开始)

3、ES的优势

  • ES基于Lucene引入了分片与副本机制,解决了集群下性能和高可用问题
  • 查询性能高效,可在毫秒级内返回查询,得益于倒排索引的高效
  • 聚合性能高(sum、avg、count等)

二、ES与Solr对比

           ES和Solr是具有代表的搜索引擎,二者都是基于核心搜索库Lucene构建的,但他们在扩展性、部署的简易性等方面有很大的不同。

          1)Solr在处理静态数据方面优势更大,因为它有缓存,并且能够使用非反向阅读器进行面化和排序(例如电子商务);

           另一方面,Elasticsearch更适合并更频繁地用于时间序列数据用例,比如日志分析用例;

solr elasticsearch comparison

2)根据搜索引擎排名显示,ES的受欢迎程度高于Solr;

3)ES在开源日志管理用例中占据主导地位,许多组织使用ES索引其日志,使日志可被搜索;

4)ES更易学;

5)节点发现于集群管理:ES有自己的实现机制,Solr需要使用ZooKeeper进行节点发现与主节点选取;

6)分片放置:ES对索引和分片的放置是比较动态的,而Solr往往是静态的;

7)缓存:segment(段)是Lucene索引的一部分,它由不同的文件组成,大部分是不可变的,并且包含数据。当你索引数据的时候,

     Lucene会产生段,并在段合并的过程中合并多个已存在的较小的段到更大的段。

    Solr具有全局缓存,即一个给定类型的shard的单个缓存实例,用于shard的所有分段。当一个段发生变化时,整个缓存都失效并需刷新。这需要时间和硬件资源。

    在ES中缓存是按段进行的,如果只更改了一个段,那么缓存的数据中只有一小部分会失效并进行刷新。

8)机器学习:ES可通过插件支持机器学习算法,重点研究时间序列数据中的异常检测和异常值检测。

三、ES安装及使用示例

1、安装ES

  • 根据自己的操作系统和需要下载相应的版本ElasticSearch
  • 将下载后的文件进行解压,本文以Windows10系统下ElasticSearch-7.11.2为例说明ES的使用

     解压后文件目录如下所示:

     

  • 进入bin目录,单击elasticsearch.bat文件,则启动ES集群

    下图展示了加载过程中的部分信息:

   

  •   验证集群是否启动成功,在地址栏输入http://localhost:9200/,展示如下信息,表示 集群启动成功

2、安装可视化界面 elasticsearch-head

      1)nodejs环境安装 

      elasticsearch-head是一个基于node.js的前端项目,所以使用它必须实现安装好node.js的相关环境

      下图展示了nodejs安装中的一个主要操作,完成相关操作后添加环境变量NODE_PATH,具体操作可参考nodejs安装

               

       2)elasticsearch-head安装

                 下载elasticsearch-head;github的教程中含有不同的安装方式,本文使用第一种Running with built in server

                  

                  输入上述地址后,显示如下信息:

                  

                  上述信息的显示,需要重启ES服务,重新连接

                  解决跨域问题:IP地址、端口,再elasticsearch.yml中添加如下信息:

http.cors.enabled: true
http.cors.allow-origin: "*"

 

 

四、Kibana的安装

Kibana是通向Elastic产品集的窗口,它可以在ES中对数据进行探索和分析。

  • 下载Kibana,需要注意的是Kibana的版本需要和ES的版本保持一致
  • 解压Kibana,信息如下

    

  • 进入bin目录下,执行kibana.bat脚本

    

  • 查看http://localhost:5601信息,显示如下页面,表明Kibana安装成功

  • 汉化Kibana,在config目录下的kibana.yml文件中,添加信息  i18n.locale: "zh-CN" 然后重启kibana服务

    

参考连接:what is elasticsearchsolr vs elasticserach

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值