扣丁学堂大数据培训分享大数据ElasticScarch的学习总结

现在学习大数据的小伙伴有不少,本篇文章扣丁学堂大数据培训小编给读者们分享一下大数据ElasticScarch的学习总结,对大数据开发技术感兴趣的小伙伴就随小编来了解一下吧。数据库

从字义上理解就是弹性搜索的意思,其实他就是一个搜索引擎,基于Lucene开发的分布式搜索引擎,和基于RESTful Web接口,搜索接近实时、快速、稳定。缓存

目前这款搜索引擎很是的健壮和流行。本文章总结的都是一些学习过的知识。另外有操做的文档,建议最好是先本身动手搭建好以后再看本文章。(每一个人学习的方式都不同,我的不太喜欢太理论的东西,我喜欢先动手操做一遍再理论 这样的学习方式对我来讲比较高效率。)安全

特色介绍:微信

分布式: 任何的单点出现故障,都不会影响集群的总体运做。架构

支持RESTful接口:对外提供RESTful接口服务,下降服务的局限性、可跨平台。app

实时索引: 实时索引实际上是近实时,它最快的速度能够到达写入数据后1秒后立马可见。负载均衡

ElasticScarch名词的解释:框架

每门技术都有本身的专业名词,下面总结一下该技术的名词解释,在用ElasticScarch的过程当中可能会常常听到一些专业名词,下面为你们解释而且理解这些词汇的概念。分布式

名词解释:oop

Cluster(集群): ElasticScarch是一个分布式的搜索引擎,它由多台机器的Node(节点)组成在一块儿,每台机器都有ClusterName,当他们发现本身的ClusterName相同时,就会组织成一个Cluster(集群),他们会共同分享数据、又具备负载均衡的特性。

Node(节点):至关于一个单节点的ElasticScarch,单机的一个服务,在Cluster(集群) 中的其中一台主机。

Shards(分片):一个Index(索引)是由N个、多个Shards(分片)组成的,把Index(索引)的数据都分在不一样的分片上,再把分片放在不一样的物理机器上。由多台机器承载这些大量的数据。

Replicas(副本):他会从Shards(分片)中复制多份的分片,当装有Shards(分片)的机器宕机后,会自动成为主分片,一个安全的备份。

索引名词解释:

Index(索引): 一个Index(索引)有一个分片的概念,一个Index(索引)包含了N个分片,由于ElasticScarch是基于Lucene封的,一个分片又能够理解成是一个Lucene的索引。(先把它理解成一个大的关系型数据库)

Type(类型):在一个Index(索引)中你能够有一种或者多种数据类型。(理解成在一个关系型数据库中有一张或者多张表)

Document(文档):一个文档是一个可被Index(索引)的基础信息单元。(理解成数据库表里面的一条数据)

Field(列):Field(列)是ElasticScarch中最小的单位(一条数据某一列、一个字段)

咱们从最底层往上讲

Gateway层:

最底这一层最主要是是作数据持久化的,其实就是数据层,能够看到能够支持各类的存储系统,本地的存储系统、HadoopHDFS等等各类各样的数据存储系统,用于存元数据。

Lucene层

ElasticScarch的底层就是对Lucene的一个封装,它由始至终都要用到Lucene,ElasticScarch在Lucene的基础之上作了一个分布式的框架,把多个Lucene的索引给管理起来,最后作一个很是大规模的搜索引擎。

倒数第三层 index、search、mapping:

index模块: 怎么建立某个索引,数据如何建立,如何存储 都由它来管理。

search模块: 数据的查询由它来完成。

mapping模块: 相单于如何建立一个表的结构、怎么建立这个mapping都由它管理

River模块: 这个模块如今没有了,我记得是数据同步仍是什么鬼(反正不重要)

倒数第四层 Discovery、Scripting、3rdPlugins:

Discovery模块: 服务发现模块、当有节点要加入进来须要经过此模块,主要处理节点与节点之间的问题,目前实现有两种方式,分别是ZEN、EC2,用的最多的是ZEN。

Scripting模块: 脚本模块、能够本身写一段脚本代码 来进行元数据的二次处理 返回给前台页面。(性能低最好别用)

3rdPlugins:第三方插件,ElasticScarch支持不少的第三方插件。

Transport层:

Transport层主要用于数据的传输、想访问ElasticScarch,第一步就是要和它进行链接,那么链接的步骤和数据的传输,就在这层。通常咱们都用http进行交互。

Memcached层:这个架构图是比较早期的,如今没有这一层了。之前这层好像是作缓存的(反正不重要)。

RESTful 层:这一层就很简单了,就不说了。

想要了解更多关于大数据方面内容的小伙伴,请关注扣丁学堂大数据培训官网、微信等平台,扣丁学堂IT职业在线学习教育有专业的大数据讲师为您指导,此外扣丁学堂老师精心推出的大数据视频教程定能让你快速掌握大数据从入门到精通开发实战技能。