elasticsearch概述

简介

Elasticsearch是一个分布式的、可伸缩的、实时搜索和分析引擎,简称ES。Elasticsearch、Logstash、Kibana构成ELK stack,从数据采集到数据分析处理以及最后的数据可视化,为很多数据场景提供了稳定的解决方案。

图1:es是什么?

现今有很多公司采用elasticseach,并且ES在很多方便的表现优于solar。

    • Github:“GitHub使用ElasticSearch搜索20TB的数据,包括13亿文件和1300亿行代码”。
    • SoundCloud:“SoundCloud使用ElasticSearch为1.8亿用户提供即时而精准的音乐搜索服务”。
    • 百 度:百度目前广泛使用ElasticSearch作为文本数据分析,采集百度所有服务器上的各类指标数据及用户自定义数据,通过对各种数据进行多维分析展 示,辅助定位分析实例异常或业务层面异常。目前覆盖百度内部20多个业务线(包括casio、云分析、网盟、预测、文库、直达号、钱包、风控等),单集群 最大100台机器,200个ES节点,每天导入30TB+数据。
    • sina:新浪的广告业务日志,标签数据,以及集群metrics数据存储在es中,提供检索及分析服务
面向搜索(for full text search) 面向分析 (for analytics)
Wikipedia Goldman Sachs 
Github Ubnt
Quora Foursquare (LBS)
Facebook Linkedin
Baidu Netflix
Sina Baidu

概念

Cluster和Node

ES可以以单点或者集群方式运行,以一个整体对外提供search服务的所有节点组成cluster,组成这个cluster的各个节点叫做node。

Index

这是ES存储数据的地方,类似于关系数据库的database。

Shards

索引分片,这是ES提供分布式搜索的基础,其含义为将一个完整的index分成若干部分存储在相同或不同的节点上,这些组成index的部分就叫做shard。

Replicas

索引副本,ES可以设置多个索引的副本,副本的作用一是提高系统的容错性,当个某个节点某个分片损坏或丢失时可以从副本中恢复。二是提高ES的查询效率,ES会自动对搜索请求进行负载均衡。

Recovery

代表数据恢复或叫数据重新分布,ES在有节点加入或退出时会根据机器的负载对索引分片进行重新分配,挂掉的节点重新启动时也会进行数据恢复。

Gateway

ES索引快照的存储方式,ES默认是先把索引存放到内存中,当内存满了时再持久化到本地硬盘。gateway对索引快照进行存储,当这个ES集群关闭再重新启动时就会从gateway中读取索引备份数据。

Discovery.zen

代表ES的自动发现节点机制,ES是一个基于p2p的系统,它先通过广播寻找存在的节点,再通过多播协议来进行节点之间的通信,同时也支持点对点的交互。

Transport

代表ES内部节点或集群与客户端的交互方式,默认内部是使用tcp协议进行交互,同时它支持http协议(json格式)

时间: 2024-10-14 08:17:32

elasticsearch概述的相关文章

ElasticSearch概述及Linux下的单机ElasticSearch安装

原文地址:http://blog.csdn.net/w12345_ww/article/details/52182264.版权归原作者所有 这两天在项目中要涉及到ElasticSearch的使用,就上网去搜索了一些这方面的资料,发现elasticSearch的安装分为单机和集群两种方式.在本例中,我们重点介绍单机下的ElasticSearch的安装,亲测可用,记录下来与各位同仁分享. 一.ElasticSearch概述 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分

(01)ElasticSearch概述

ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于Restful web接口.ElasticSearch是用java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.构建在全文检索开源软件Lucene之上的ElasticSearch,不仅能对海量规模的数据完成分布式索引与检索,还能提供数据聚合分析.据国际权威的数据库产品评测机构统计,在20

学习用Node.js和Elasticsearch构建搜索引擎(一)

最近的项目要用到快速全文检索,经过前期的调研,最后选用Elasticsearch搭建搜索服务器.以前做的项目中没用过这个搜索引擎,这是第一次使用. 主要是参照 <如何用 Node.js 和 Elasticsearch 构建搜索引擎>这篇文章学习的,这篇文章翻译得很好,整个过程都走下来了很流畅. 下面记录一下本人按照这篇文章的学习过程: 1.学习Elasticsearch概述. 了解Elasticsearch是什么?能做什么?可以查一下elasticsearch.lucene等的相关介绍,另外也

Elasticsearch入门 + 基础概念学习

原文地址:https://www.cnblogs.com/shoufeng/p/9887327.html 目录 1 Elasticsearch概述 1.1 Elasticsearch是什么 1.2 Elasticsearch的优点 1.3 Elasticsearch的相关产品 1.4 Elasticsearch的使用场景 2 Elasticsearch的功能概述 2.1 分布式的搜索引擎和数据分析引擎 2.2 全文检索 结构化检索 数据分析 2.3 海量数据的近实时处理 3 Elasticsea

大数据实战之Logstash采集-&gt;Kafka-&gt;ElasticSearch检索

1. Logstash概述 Logstash的官网地址为:https://www.elastic.co/cn/products/logstash,以下是官方对Logstash的描述. Logstash是与Flume类似,也是一种数据采集工具,区别在于组件和特性两大方面.常用的数据采集工具有Sqoop.Flume.Logstash,计划将单独写一篇博文论述它们之间的区别,所以这里就不赘述,感兴趣可关注后期的博文. 2. Kafka概述 Kafka的官网是:http://kafka.apache.o

小白学ES 01-Elasticsearch的基础概念

目录 1 Elasticsearch概述 1.1 Elasticsearch是什么 1.2 Elasticsearch的优点 1.3 Elasticsearch的相关产品 1.4 Elasticsearch的使用场景 2 Elasticsearch的功能概述 2.1 分布式的搜索引擎和数据分析引擎 2.2 全文检索 结构化检索 数据分析 2.3 海量数据的近实时处理 3 Elasticsearch的核心概念 3.1 ES服务的相关概念 3.2 ES索引的相关概念 3.3 与关系型数据库的对比 参

千锋《Java高级教程+分布式+springcloud+微信支付》

课程目录:├─千锋Java高级教程-cas单点登录(完结-8集)│      01单点登录介绍│      02cas介绍│      03tomcat搭建https│      04cas server搭建│      05Cas 配置 jdbc 连接数据库│      06Cas 密码 MD5值│      07 Cas 整合shiro1│      07 Cas 整合shiro2│      ├─千锋Java高级教程-dubbo+zookeeper分布式系统架构基础(11集)│      

elasticsearch 源码概述

从功能上说,可以分为两部分,分布式功能和数据功能.分布式功能主要是节点集群及集群附属功能如restful借口.集群性能检测功能等,数据功能主要是索引和搜索.代码上这些功能并不是完全独立,而是由相互交叉部分.当然分布式功能是为数据功能服务,数据功能肯定也难以完全独立于分布式功能. 它的源码有以下几个特点: 模块化:每个功能都以模块化的方式实现,最后以一个借口向外暴露,最终通过guice(google轻量级DI框架)进行管理.整个系统有30多个模块(version1.5). 接口解耦:es代码中使用

elasticsearch index 功能源码概述

从本篇开始,对elasticsearch的介绍将进入数据功能部分(index),这一部分包括索引的创建,管理,数据索引及搜索等相关功能.对于这一部分的介绍,首先对各个功能模块的分析,然后详细分析数据索引和搜索的整个流程. 这一部分从代码包结构上可以分为:index, indices及lucene(common)几个部分.index包中的代码主要是各个功能对应于lucene的底层操作,它们的操作对象是index的shard,是elasticsearch对lucene各个功能的扩展和封装.indic