29-天亮大数据系列教程之ElasticSearch系列教程之初识es

目录
1、系统介绍与基本特点
2、系统重要概念
3、相关竞品及生态圈说明

详情
1、系统介绍与基本特点

  • 它是什么

    • 简称es
      • 基于Lucene的搜索引擎服务器
        • Lucene是什么
          • 开源的高性能、可伸缩的全文检索引擎工具包
          • 但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构
          • 提供完整的索引引擎和查询引擎,及部分分析引擎
      • 当前非常流行的、免费的Java信息检索(Information Retrieve)库
      • 索引结构介绍
        • 正排索引:文档到词
        • 倒排索引:词到文档
    • 提供了完整的分布式、多用户能力的全文检索引擎
    • java开发,提供完整的Http Restful接口
    • 一个nosql的存储引擎,最新版本已提供sql语句

    • 它的特点

      • 开源、分布式、高可用(HA)、高性能、可伸缩的企业级搜索引擎,达到实时搜索、稳定、可靠、快速、安装使用方便
      • “零配置”、完全免费

    2、系统重要概念

    • 它的重要概念

      • Cluster(集群)
        • es是天然支持分布式集群模式的
        • 集群中有多个节点,一个主节点,多个从节点,还可以有多个主节点,但同一时间只有一个被激活。
        • 主节点是通过选举产生的,其主从节点的角色划分是相对于集群内部来说的。
        • 其集群强调去中心化的,即对于集群外部来说是统一为一个整体的,与任意一个节点通信和与集群通信是完全等价的,即在外部看来是没有中心的。
      • 与关系型数据库类比

        • RDB(Relational DB) -> Databases -> Tables -> Rows -> Columns
        • ES(Elasticsearch) -> Indices(库) -> Types(表) -> Documents(文档记录) -> Fields(字段)
      • Index(索引库)

        • 类比于mysql中的数据库,内部由一系列的type(表)组成
        • ES6.x及以后,官方已禁止一个索引对应多个type的情况,改成必须1:1的形式,消除很多使用误区和易出的BUG。
      • Type(索引类型,即表)

        • 类比于mysql中的表,从属于Index,是由一系列具有相同特征数据组成
        • 内部由一系列的Document(文档)组成
        • ES6.x及以后,官方已强调逐步剔除该概念,预计7.0及以后将没有该概念
      • Document(文档)

        • document类比于mysql中的一条记录,均为json格式
        • es面向文档去存储、索引、搜索、排序、过滤等操作
      • Shards(分片)

        • 在数据量很大的情况下,进行水平扩展,提高索引和搜索性能。
        • 类比于hdfs中的block数据分块的思路
        • 分片数量必须要索引库创建前指定,创建完成后不可更改
      • Replicas(复本)

        • 对相应的分片数据进行备份,防止分片数据丢失,同时提高搜索性能。
        • 类比于hdfs中的block数据复本的思路,默认是1,即一共存储2份。
        • 系统内部自动进行负载均衡
      • recovery(数据恢复机制)

        • 集群内有节点加入或退出时,会根据机器的负载对索引分片进行重新分配,挂掉的节点重新启动时也会进行数据恢复。
      • river(数据同步到es的插件)

        • 将非es的数据源同步到es的插件和解决方法
        • 目前各个非es的数据源同步插件均已有,包括mysql,couchDB,RabbitMQ等
      • gateway(快照)

        • 索引快照的存储方式,es默认是先把索引存放到内存中,当内存满了时再持久化到硬盘。当这个es集群关闭再重新启动时就会从gateway中读取索引数据。es支持多种类型的gateway,有本地文件系统(默认),分布式文件系统,Hadoop的HDFS和amazon的s3云存储服务。
      • discovery.zen(自动发现节点机制)

        • es是一个基于p2p的系统,它先通过广播寻找存在的节点,再通过多播协议来进行节点之间的通信,同时也支持点对点的交互。
      • Transport(数据交互方式)

        • 代表es内部节点或集群与客户端的交互方式,默认内部是使用tcp协议进行交互,同时它支持http协议(json格式)、thrift、servlet、memcached、zeroMQ等的传输协议(通过插件方式集成)。

3、相关竞品及生态圈说明

  • 它的同类竞品

    • apache solr(也很火,es略占上风)
    • 也是基于Lucene搜索引擎架构的企业级搜索应用服务器
    • apache出品的顶级java开源项目,均支持全套的restful api接口
    • 用户体验、易用性、性能表现上略弱于es
  • es与同类竞品solr的比较说明

    • 安装布署、运维、易用性等方面基本对等
      • solr的社区背靠apache,比es略强大一些
      • 当用于实时索引与搜索时,solr的性能明显弱于es,主要是由于solr在索引构建时产生io阻塞导致的。
        该场景下,es也只能做近实时,索引完成到能搜索出来,约有1s的延迟。
      • 当数据量超过一定量级别,solr的性能下降明显,es趋于稳定。
      • 综上所述,做历史数据的实时搜索solr占优,做实时数据的实时搜索则es占优。
    • es stack(生态圈)

      • logstash

        • 具备实时数据传输能力的管道,着重日志相关处理
        • 负责将数据信息从管道的输入端传输到管道的输出端
        • 支持灵活根据自己的需求在中间加上滤网,Logstash提供里很多功能强大的滤网以满足你的各种应用场景
      • kibana

        • 开源的分析和可视化平台,数据主要由es提供
        • 基于es的搜索与分析能力,拿到用于上层分析和可视化需要的结果
        • 开发者或运维人员可以轻松地执行高级数据分析,并在各种图表、表格和地图中可视化数据。
      • beats

        • 专门用于发送数据的平台,可以将数据无缝传输给logstash或是es
        • 轻量级代理机制安装,类似于hadoop集群安装时候的ambari或cdh manager
        • 可将数以百千计算机中的数据发送到logstash或是es中。
      • es-hadoop

        • 一个深度集成Hadoop和es的项目,是es官方维护的一个子项目
        • 可以达到hadoop与es之间的输入与输出
        • 重点是充分利用hadoop的并行计算优势,为hdfs数据提供实时搜索能力。
      • es-sql

        • 用sql来操作es,来代替之前需要写各种复杂的json查询才可解决的问题
        • es-sql目前有两个版本

          • 第一,是多年前即开始的国内主推开源的nlpchina/es-sql插件
          • 第二,是自2018.06官方es6.3.0发布后正式支持的es-sql功能
          • 市面上目前以第一种为绝对主力,第二种的es-sql市场情况视发展而看。
    • ELK或称ELKB组合套件(elastic stack)
      这里写图片描述


天亮教育是一家从事大数据云计算、人工智能、教育培训、产品开发、咨询服务、人才优选为一体的综合型互联网科技公司。
公司由一批BAT等一线互联网IT精英人士创建,
以”快乐工作,认真生活,打造高端职业技能教育的一面旗帜”为愿景,胸怀”让天下没有难找的工作”使命,
坚持”客户第一、诚信、激情、拥抱变化”的价值观,
全心全意为学员赋能提效,践行技术改变命运的初心。

更多学习讨论, 请加入
官方-天亮大数据交流-366784928
群二维码:
这里写图片描述
天亮教育公开课-从小白到大佬修成记-全系列视频地址:http://bbs.myhope365.com/forum.php?mod=viewthread&tid=1422&extra=page%3D1

欢迎关注天亮教育公众号,大数据技术资料与课程、招生就业动态、教育资讯动态、创业历程分享一站式分享,官方微信公众号二维码:
这里写图片描述

爬虫、nlp技术qq群320349384
天亮教育官方群318971238,
hadoop & spark & hive技术群297585251,
官网:http://myhope365.com
官方天亮论坛:http://bbs.myhope365.com/

猜你喜欢

转载自blog.csdn.net/erliang20088/article/details/81591588