ES(elasticsearch) 是一个高可扩展的、开源的全文检索和分析引擎,它允许你存储、检索、分析海量数据,以一种快到近乎实时的速度。

ES用例场景:

  使用ES存储商品目录、清单,提供检索、输入提示的服务。

  使用ES收集日志或交易数据,且你想分析和挖掘这些数据来查看趋势、统计、总览和异常。可以使用Logstash来收集、聚合并且解析你的数据,然后将数据喂给ES,然后你就可以在ES中运行检索和聚合来挖掘任何你感兴趣的信息。

  使用ES用于分析和商业智能的需求,可以快速调研、分析、可视化以及基于大数据即时提问。使用Kibana构建自定义的面板可以可视化你的数据切面,以不同的角度。

基本概念

  NRT:几乎实时,指:从你索引一个文档的时间到它可以检索到的时间的延时(通常一秒)。

  Cluster:集群,是一个或者多个节点(服务器)的集合。它们持有所有的数据,并且提供跨所有节点来联合索引和检索能力,一个集群默认有一个唯一的名字为“elasticsearch”,这个名字很重要,因为一个节点只能是集群的一部分,如果该节点通过它的名字设置加入集群。

  Node:节点,是一个服务器,一个集群的一部分,存储数据,参与集群的索引和搜索能力。节点也有名字,默认是随机的UUID,可以自定义。一个节点可以配置加入一个指定的集群名,默认地,每隔节点被设置加入一个名为“elasticsearch”的集群,意味着,如果你在网络中启动多个节点(假设这些节点网络互通),它们会自动地形成一个集群(elasticsearch)。在单个节点,你可以想要多少就有多个节点,此外,如果没有其他elasticsearch节点在网络中,启动单个节点会自动形成一个集群(elasticsearch),该集群有一个节点。

  Index:索引,是有某种程度相似特征的文档的集合。你可以有客户数据的索引,产品目录的索引,甚至其他数据的索引。一个索引有一个名字(全小写)。当执行索引、检索、更新、删除操作时,这个名字被用来引用索引。在单个集群中,你可以定义多个索引。

  Document:文档,是可以被索引的信息的基本单元。文档被描述为JSON结构,这是一种普遍使用的互联网数据交换格式。虽然文档是物理驻留在索引中,一个文档实际上必须被索引/分配到索引中的一个类型中。

  分片和复制:单个索引可能存储大量的数据,以至于超过单机的存储能力。例如十亿文档占据1TB的磁盘空间可能不太适合单机节点,或者也可能太慢以至于不能从单节点服务请求。为了解决这个问题,elasticsearch提供了分解索引为多个分片,当你创建一个索引你可以简单的定义分片的数量,每个碎片本身都是一个完全有效的、独立的“索引”,可以托管在集群中的任何节点。

  分片是很重要的,有俩个主要原因:它允许你水平分割/扩展你的内容卷积;它允许你跨分片(可能在多个节点上)分发和并行化操作,以此提高性能和吞吐量。

一个分片是如何分发,以及它的文档是如何被聚合到检索请求的机制是完全由Elasticsearch管理,并对用户透明的。

  在一个网络或云环境中,失败是随时可能发生的,高度推荐有一个故障转移机制以免单个分片或者节点下线或者消失(因某种原因),因此Elasticsearch允许你制作你的索引的一个或者多个拷贝,它被称之为“复制分片”,或者简单称之为“复制”。

  复制是很重要的,有俩个主要原因:它提供了高可用性,以免分片或者节点失败,因此,需要注意一个复制分片不会和主分片分配到同一个节点,复制分片从主分片复制数据。它允许你扩展搜索卷和吞吐量,因为检索可以在所有复制分片上并发的执行。

  总而言之,每个索引可以被分割成多个分片,每个索引也可以复制0次或多次。一旦复制,每个索引会有主分片(被复制的原始分片)和复制分片(主分片的拷贝)。分片和复制的数量在索引创建的时候定义,在创建之后你可以任意时刻动态修改,使用_shrink和_split apis改变已存在索引的分片数量。这个任务很重,预先规划好分片数量才是最佳办法。默认地,Elasticsearch中每个索引都分配了5个主分片和一个复制,意味着,如果你至少有俩个节点在集群中,你的索引会有五个主分片,以及另外五个复制分片(1个完全复制),总共每个索引十个分片。

注意:每个 Elasticsearch shard 是一个 Lucene index. 单个Lucene索引有最大文档数量。依据 LUCENE-5843, 文档数量限制为 2,147,483,519 (= Integer.MAX_VALUE - 128) documents. You can monitor shard sizes using the _cat/shards API.

【ELK学习】初识ElasticSearch的更多相关文章

  1. ELK 学习笔记之 elasticsearch环境搭建

    ELK概述: ElasticSearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等 Logstash是一 ...

  2. ELK系列(1) - Elasticsearch + Logstash + Kibana + Log4j2快速入门与搭建用例

    前言 最近公司分了个ELK相关的任务给我,在一边学习一边工作之余,总结下这些天来的学习历程和踩坑记录. 首先介绍下使用ELK的项目背景:在项目的数据库里有个表用来存储消息队列的消费日志,这些日志用于开 ...

  3. Elasticsearch系列---初识Elasticsearch

    Elasticsearch是什么? Elasticsearch简称ES,是一个基于Lucene构建的开源.分布式.Restful接口的全文搜索引擎,还是一个分布式文档数据库.天生就是分布式.高可用.可 ...

  4. ELK初学搭建(elasticsearch)

    ELK初学搭建(elasticsearch) elasticsearch logstash kibana ELK初学搭建 elasticsearch 1.环境准备 centos6.8_64 mini ...

  5. ELK 架构之 Elasticsearch、Kibana、Logstash 和 Filebeat 安装配置汇总(6.2.4 版本)

    相关文章: ELK 架构之 Elasticsearch 和 Kibana 安装配置 ELK 架构之 Logstash 和 Filebeat 安装配置 ELK 架构之 Logstash 和 Filebe ...

  6. ELK学习笔记(一)安装Elasticsearch、Kibana、Logstash和X-Pack

    最近在学习ELK的时候踩了不少的坑,特此写个笔记记录下学习过程. 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因 ...

  7. ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置

    注意事项: 1.ELK版本要求5.X以上,本人使用版本:elasticsearch-6.0.0.kibana-6.0.0-linux-x86_64.logstash-6.0.0.tar 2.Elast ...

  8. ELK学习记录一 :初识ELK

    ELK是elastic公司提供的一套完整的收集日志并分析展示的产品,分别表示Elasticsearch.Logstash和kibana. (官网截个图) 先来一段个人粗浅的认识: Elasticsea ...

  9. ELK学习实验002:Elasticsearch介绍及单机安装

    一 简介 ElasticSearch是一个基于Luncene的搜索服务器.它提供了一个分布式多用户能力全文搜索引擎,基于RESTful web接口,ElsticSearch使用Java开发的,并作为A ...

随机推荐

  1. 【洛谷p1781】宇宙总统

    宇宙总统[题目链接] 关于题目算法,其实就是考排序,那我们直接sort不就好啦,显然不能. 这个题让我重新认识了cmp函数: 以下是我的心路历程: 看到这个题,嗯?这么简单的吗,我直接sort不就好啦 ...

  2. C#/.NET/.NET Core定时任务调度的方法或者组件有哪些--Timer,FluentScheduler还是...

    原文:C#/.NET/.NET Core定时任务调度的方法或者组件有哪些--Timer,FluentScheduler还是... 原文由Rector首发于 码友网 之 <C#/.NET/.NET ...

  3. 3D max导出的设置选项

    一3D max导出的设置选项

  4. Jquery复习(八)之遍历

    jQuery 遍历 - 祖先 parent() parents() parentsUntil() jQuery parent() 方法 parent() 方法返回被选元素的直接父元素. 该方法只会向上 ...

  5. JS递归及二叉搜索树的移除节点

    1递归含义:在某时某刻某个条件下调用包含自己的函数 2:注意点:⑴递归过程中一定要加限制条件,要不然会陷入死循环: 死循环eg: function f(someP){ f(somP); } f(4); ...

  6. hadoop最简伪分布式安装

    本次安装运行过程使用的是Ubuntu16.04 64位+Hadoop2.5.2+jdk1.7.0_75 Notice: Hadoop2.5.2版本默认只支持64位系统 使用的jdk可以为1.7和1.8 ...

  7. 关于IDEA中@Autowired 注解报错~图文

    例如鼠标放上去会报错如下: Could not autowire. No beans of 'StudentMapper' type found. less... (Ctrl+F1) Inspecti ...

  8. MySQL下载~安装教程~这里示例 MySQL 8.0 Command Line Client

    打开 https://www.mysql.com 也可以选择我分享的百度网盘文件 MySQL8.0.16.0 安装包 https://pan.baidu.com/s/1U8DkyJVp9Zvx7Zok ...

  9. 关于Pandas中Dataframe的操作(一)

    1.如何实现两个dataframe去重()? 假设df1是所有的数据,现在想去除与df2中重复的数据,也就是实现对df1进行操作,让他的数据不再包括df2. 方法一:先把需要剔除的df2的某一列(如i ...

  10. Delphi7 IDE