ElasticSearch漫游 (12.了解ES集群)

集群角色

在这里插入图片描述
注意第四个 这个叫协调节点 它等于起到一个路由+负载均衡的作用 它本身不处理数据。

集群中有很多太机器,每台机器上的ES实例 都有个四个功能,当然你不能集群中每台机器都充当多面手,集群中一般都会界定好每台机器的职责,

比如这部分机器做数据节点 那么配置文件里面 data为 true. 其他为false。

其他同理。


ES集群的脑裂

当一个ES集群出现网络问题时,可能会导致节点之间无法通信,这可能是由于网络故障、硬件故障或其他因素引起的。在这种情况下,集群中的节点可能被分为两个或多个孤立的子集群,每个子集群都认为自己是整个集群的唯一有效成员。这种分裂会导致数据冲突和不一致性,因为每个子集群都可能开始接受不同的索引和写入操作。

ES通过使用选举机制来解决脑裂问题。当网络问题解决后,节点会尝试重新加入集群,并通过选举确定一个主节点(Master)。主节点负责协调整个集群的操作,并确保数据的一致性。其他节点将成为从属节点(Follower),它们将与主节点进行通信,同步数据并接受其指导。

在脑裂问题中,关键的考虑因素是集群中主节点的选举过程。如果网络问题持续存在或解决过程中出现故障,可能会导致多个节点同时宣称自己是主节点,这将进一步加剧数据一致性问题。为了防止这种情况发生,ES集群使用了一些策略和机制,如投票机制、时间戳比较和优先级规则,以确保只有一个有效的主节点。

分布式存储

当发生 新增数据的时候,协调节点 会把数据保存到不同的分片上面,
ES会通过hash算法 来计算分片的数量。把数据均衡的分散到各个分片上面。

看下面这个集群 每一个机器上面有一个主分片 还有一个备份分片。但是 注意
一个分片对应的备份分片 是分开放置的 这样的好处是万一主分片故障了 还有备份分片。
在这里插入图片描述

分布式查询

Elasticsearch(简称为ES)分布式集群中,数据查询涉及多个节点之间的协作。当您发起一个查询请求时,ES执行以下步骤来查询数据:

客户端向任意一个节点发送查询请求。

接收到查询请求的节点被称为协调节点(coordinating node)。它的主要作用是协调查询过程,并将结果返回给客户端。

协调节点将查询请求转发给所有的数据节点。数据节点是实际存储数据的节点。

每个数据节点在本地执行查询操作,并返回局部结果给协调节点。

协调节点收集所有数据节点返回的局部结果,并根据查询条件和排序规则进行合并和排序。

最后,协调节点将最终的查询结果返回给客户端。

在这个过程中,协调节点负责协调查询的分发和结果的合并,而数据节点则负责实际执行查询操作。数据节点只处理属于自己分片的数据,并返回局部结果给协调节点。

通过这种分布式查询的方式,ES能够利用集群中多个节点的计算能力并行处理查询请求,从而提高查询性能和扩展性。每个数据节点只处理自己负责的分片数据,这样数据的负载被分散到多个节点上,提供了更好的水平扩展性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值