扣丁学堂大数据培训分享大数据ElasticScarch的学习总结
如今学习大数据的小伙伴有很多,本篇文章扣丁学堂大数据培训小编给读者们分享一下大数据ElasticScarch的学习总结,对大数据开发技术感兴趣的小伙伴就随小编来了解一下吧。
扣丁学堂大数据培训
从字义上理解就是弹性搜索的意思,其实他就是一个搜索引擎,基于Lucene开发的分布式搜索引擎,和基于RESTful Web接口,搜索接近实时、快速、稳定。
目前这款搜索引擎非常的健壮和流行。本文章总结的都是一些学习过的知识。另外有操作的文档,建议最好是先自己动手搭建好之后再看本文章。(每个人学习的方式都不一样,个人不太喜欢太理论的东西,我喜欢先动手操作一遍再理论 这样的学习方式对我来说比较高效率。)
特点介绍:
分布式: 任何的单点出现故障,都不会影响集群的整体运作。
支持RESTful接口:对外提供RESTful接口服务,降低服务的局限性、可跨平台。
实时索引: 实时索引其实是近实时,它最快的速度可以到达写入数据后1秒后立马可见。
ElasticScarch名词的解释:
每门技术都有自己的专业名词,下面总结一下该技术的名词解释,在用ElasticScarch的过程中可能会经常听到一些专业名词,下面为大家解释并且理解这些词汇的概念。
名词解释:
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职业在线学习教育有专业的大数据讲师为您指导,此外扣丁学堂老师精心推出的大数据视频教程定能让你快速掌握大数据从入门到精通开发实战技能。
Pyhon基础课程:https://ke.qq.com/course/327534?flowToken=1008607 【扫码进入Python全栈开发免费公开课】
H5基础课程:https://ke.qq.com/course/320523?flowToken=1008606【扫码进入HTML5前端开发VIP免费公开课】
注:点击(了解更多)进入课程直播间