前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ELK Stack系列之基础篇(三) - Elasticsearch集群架构与角色

ELK Stack系列之基础篇(三) - Elasticsearch集群架构与角色

原创
作者头像
南非骆驼说大数据
修改2020-02-17 13:54:18
4.2K0
修改2020-02-17 13:54:18
举报

一、Elasticsearch集群架构介绍

集群就是多个node统一对外提供服务。这样,就避免了单节点故障带来的服务的中断,保证了服务的高可用,同时,也因为多台节点的协同运作,提高了集群服务的计算能力和吞吐量。ES服务在实际应用中也是以集群的方式存在着。首先我们看一张典型的集群架构图:

ES集群架构
ES集群架构

对于用户来说, ES是一个无中心化的集群,ES集群内部运行原理是对外面来说是透明的。你操作一个节点跟操作一个集群是一样的。也就是说,ES集群没有中心节点,任何一个节点出现故障都不会影响其它节点。这是由ES本身特性所决定的。这是它的典型特征。但是通过集群内部来看ES是有节点的。

在ElasticSearch的架构中,有三类角色,分别是Client Node、Data Node和Master Node,搜索查询的请求一般是经过Client Node来向Data Node获取数据,而索引查询首先请求Master Node节点,然后Master Node将请求分配到多个Data Node节点完成一次索引查询。我们看一下这张图:

典型的ES集群架构
典型的ES集群架构

我们讲解一下集群中各节点的作用:

Master Node:可以理解为主节点,用于元数据(metadata)的处理,比如索引的新增、删除、分片分配等,以及管理集群各个节点的状态包括集群节点的协调、调度。elasticsearch集群中可以定义多个主节点,但是,在同一时刻,只有一个主节点起作用,其它定义的主节点,是作为主节点的候选节点存在。当一个主节点故障后,集群会从候选主节点中选举出新的主节点。也就是说,主节点的产生都是由选举产生的。Master节点它仅仅是对索引的管理、集群状态的管理。像其它的对数据的存储、查询都不需要经过这个Master节点。因此在ES集群中。它的压力是比较小的。所以,我们在构建ES的集群当中,Master节点可以不用选择太好的配置,但是我们一定要保证服务器的安全性。因此,必须要保证主节点的稳定性。

Data Node: 存储数据的节点,数据的读取、写入最终的作用都会落到这个上面。数据的分片、搜索、整合等 这些操作都会在数据节点来完成。因此,数据节点的操作都是比较消耗CPU、内存、I/O资源。所以,我们在选择data Node数据节点的时候,硬件配置一定要高一些。高的硬件配置可以获得高效的存储和分析能力。因为最终的结果都是需要到这个节点上来。

Client Node:可选节点。作任务分发使用。它也会存储一些元数据信息,但是不会对数据做任何修改,仅仅用来存储。它的好处是可以分担datanode的一部分压力。因为ES查询是两层汇聚的结果,第一层是在datanode上做查询结果的汇聚。然后把结果发送到client Node 上来。Cllient Node收到结果后会再做第二次的结果汇聚。然后client会把最终的结果返回给用户。

那么从上面的结构图我们可以看到ES集群的工作流程:

1,搜索查询,比如Kibana去查询ES的时候,默认走的是Client Node。然后由Client Node将请求转发到datanode上。datanode上的结构返回给client Node.然后再返回给客户端。

2,索引查询,比如我们调用API去查询的时候,走的是MasterNode,然后由master 将请求转发到相应的数据节点上,然后再由Master将结果返回。

3,最终我们都知道,所有的服务请求都到了datanode上。所以,它的压力是最大的。

二、腾讯云ES集群简介

集群是 ES 提供托管 Elasticsearch 服务的基本单元,也是用户使用和管理 Elasticsearch 服务的主要对象。通过腾讯云官网可以快速构建一个ES集群。生产环境建议至少3个节点。具体可以参照官网根据自己要求进行选择:/product/es

腾讯云ES集群创建入口
腾讯云ES集群创建入口

三、小结:

本节我们讲解了ES集群架构、以及ES集群各角色的定义与作用。通过对此架构的讲解我们还知道了如何通过腾讯云官网去创建自己的集群。万变不离其宗,无论是腾讯云ES还是其他云产品都是基于开源框架去构建的。那么腾讯云ES集群也是如此,它只能是更智能、更快捷、更高效、更安全、易于扩展、便于管理和运维。后续我们将陆续讲解。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、Elasticsearch集群架构介绍
  • 二、腾讯云ES集群简介
  • 三、小结:
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com