Elasticsearch:什么时候应该考虑在 Elasticsearch 中添加协调节点?
仅协调节点(coordinating only nodes)充当智能负载均衡器。 仅协调节点的这种特殊角色通过减轻数据和主节点的协调责任,为广泛的集群提供了优势。 加入集群后,这些节点与任何其他节点类似,都会获取完整的集群状态,并利用此信息有效地将请求定向到适当的目的地。
将协调器节点添加到 Elasticsearch 集群可以是提高集群性能和效率的战略举措。 协调节点,也称为客户端节点,本质上是 Elasticsearch 节点,不保存任何数据或执行任何计算。 它们的主要作用是将来自客户端的搜索和索引请求路由到适当的数据节点,然后聚合响应。
协调节点
诸如搜索请求或批量索引请求之类的请求可能涉及不同数据节点上保存的数据。 例如,搜索请求分两个阶段执行,这两个阶段由接收客户端请求的节点(协调节点)协调。有关数据是如何索引的,请阅读文章 “Elasticsearch:索引数据是如何完成的”。有关数据是如何读取的,请阅读文章 “Elasticsearch:数据是如何被读取的?”。
在分散阶段,协调节点将请求转发到保存数据的数据节点。 每个数据节点在本地执行请求并将其结果返回给协调节点。 在收集阶段,协调节点将每个数据节点的结果缩减为单个全局结果集。
每个节点都是隐式的协调节点。 这意味着通过 node.roles 具有显式空角色列表的节点将仅充当协调节点,无法禁用。 因此,这样的节点需要有足够的内存和 CPU 才能处理收集阶段。
详细阅读:Node | Elasticsearch Guide [8.10] | Elastic
以下是您应该考虑向集群添加协调节点的一些场景
- 高查询负载:如果你的集群遇到高查询负载,添加协调节点可以帮助更均匀地分配负载。 协调节点可以处理分发查询和聚合结果的任务,从而释放数据节点以专注于执行查询。
- 复杂聚合:如果你的用例涉及复杂聚合,协调节点可能会很有用。 聚合可能会占用大量资源,将这项工作卸载到协调节点有助于提高性能。
- 大量索引或分片:如果你的集群具有大量索引或分片,则路由请求的任务可能会变得相当复杂。 添加协调节点可以帮助管理这种复杂性并提高请求路由的效率。
- 高客户端连接计数:如果有大量客户端连接到集群,添加协调节点可以帮助更有效地管理这些连接。 协调节点可以处理客户端连接,从而释放数据节点以专注于处理请求。
- 混合云或多区域部署:在混合云或多区域部署中,协调节点可用于根据数据位置和网络延迟等因素将请求路由到适当的数据节点。
在添加协调节点之前,必须考虑对集群资源的影响。 协调节点需要 CPU、内存和网络带宽,因此你必须确保集群有足够的资源来支持其他节点。
另外,请记住,添加协调节点并不是解决所有性能问题的灵丹妙药。 监控集群的性能并根据需要进行调整非常重要。
以下是一些问题和解答
问:Elasticsearch 中的协调节点是什么?
答:协调节点也称为客户端节点,是不保存任何数据或执行任何计算的节点。 它的主要作用是将来自客户端的搜索和索引请求路由到适当的数据节点,然后聚合响应。
问:我什么时候应该考虑向集群添加协调节点?
答:如果你的集群正在经历高查询负载,如果你的用例涉及复杂的聚合,如果你的集群有大量索引或分片,如果你有大量客户端连接到你的集群,你应该考虑添加协调器节点,或者如果你正在运行混合云或多区域部署。
问:协调器节点如何提高集群的性能?
答:协调节点可以通过卸载路由请求和聚合来自数据节点的响应的任务来提高性能。 这使得数据节点能够专注于执行查询,从而加快响应时间。
问:协调节点需要哪些资源?
答:协调器节点比数据节点需要更少的 DISK、CPU 和 RAM。
问:在添加多少个节点后,我应该考虑将协调节点添加到我的 Elasticsearch 集群中?
答:添加协调器节点的决定并不严格基于集群中的节点数量。 更多的是关于集群的工作负载和性能。 如果你的集群遇到高查询负载、复杂聚合、大量索引或分片或大量客户端连接计数,那么添加协调器节点可能会很有帮助。 但是,作为一般准则,当集群增长超过 10-20 个节点时,你可能会开始考虑添加协调器节点。 请记住,监控集群的性能并根据需要进行调整非常重要。
相关文章:
Elasticsearch:什么时候应该考虑在 Elasticsearch 中添加协调节点?
仅协调节点(coordinating only nodes)充当智能负载均衡器。 仅协调节点的这种特殊角色通过减轻数据和主节点的协调责任,为广泛的集群提供了优势。 加入集群后,这些节点与任何其他节点类似,都会获取完整的集群状态&…...
Dubbo3应用开发—Dubbo注册中心引言
Dubbo注册中心引言 什么是Dubbo注册中心 Dubbo的注册中心,是Dubbo服务治理的⼀个重要的概念,他主要用于 RPC服务集群实例的管理。 注册中心的运行流程 使用注册中心的好处 可以有效的管理RPC集群的健康情况,动态的上线或者下线服务。让我…...
AS环境,版本问题,android开发布局知识
项目模式下有一个build.gradle,每个模块也有自己的build.gradle Android模式下有多个build.gradle,汇总在一起。(都会有标注是哪个模块下的) C:\Users\Administrator\AndroidStudioProjects 项目默认位置 Java web项目与android项目的区别…...
OpenCV查找和绘制轮廓:findContours和drawContours
1 任务描述: 绘制图中粗线矩形的2个边界,并找到其边界的中心线 图1 原始图像 2.函数原型 findContours( InputOutputArray image, OutputArrayOfArrays contours, OutputArray hierarchy, int mode, …...
毕设-原创医疗预约挂号平台分享
医疗预约挂号平台 不是尚医通项目,先看项目质量(有源码论文) 项目链接:医疗预约挂号平台git地址 演示视频:医疗预约挂号平台 功能结构图 登录注册模块:该模块具体分为登录和注册两个功能,这些…...
PLL锁相环倍频原理
晶振8MHz,但是处理器输入可以达到72MHz,是因为PLL锁相环提供了72MHz。 锁相环由PD(鉴相器)、LP(滤波器)、VCO(压控振荡器)组成。 处理器获得的72MHz并非晶振提供,而是锁…...
POJ 2886 Who Gets the Most Candies? 树状数组+二分
一、题目大意 我们有N个孩子,每个人带着一张卡片,一起顺时针围成一个圈来玩游戏,第一回合时,第k个孩子被淘汰,然后他说出他卡片上的数字A,如果A是一个正数,那么下一个回合他左边的第A个孩子被淘…...
阿里云服务器镜像系统Anolis OS龙蜥详细介绍
阿里云服务器Anolis OS镜像系统由龙蜥OpenAnolis社区推出,Anolis OS是CentOS 8 100%兼容替代版本,Anolis OS是完全开源、中立、开放的Linux发行版,具备企业级的稳定性、高性能、安全性和可靠性。目前阿里云服务器ECS可选的Anolis OS镜像系统版…...
数学建模Matlab之基础操作
作者由于后续课程也要学习Matlab,并且之前也进行了一些数学建模的练习(虽然是论文手),所以花了几天零碎时间学习Matlab的基础操作,特此整理。 基本运算 a55 %加法,同理减法 b2^3 %立方 c5*2 %乘法 x 1; …...
[计算机入门] Windows附件程序介绍(工具类)
3.14 Windows附件程序介绍(工具类) 3.14.1 计算器 Windows系统中的计算器是一个内置的应用程序,提供了基本的数学计算功能。它被设计为一个方便、易于使用的工具,可以满足用户日常生活和工作中的基本计算需求。 以下是计算器程序的主要功能:…...
队列(循环数组队列,用队列实现栈,用栈实现队列)
基础知识 队列(Queue):先进先出的数据结果,底层由双向链表实现 入队列:进行插入操作的一端称为队尾出队列:进行删除操作的一端称为对头 常用方法 boolean offer(E e) 入队 E(弹出元素的类型) poll() 出队 peek() 获取队头 int size 获取队列元素个数 boolean isEmpty(…...
卷积神经网络-池化层和激活层
2.池化层 根据特征图上的局部统计信息进行下采样,在保留有用信息的同时减少特征图的大小。和卷积层不同的是,池化层不包含需要学习的参数。最大池化(max-pooling)在一个局部区域选最大值作为输出,而平均池化(average pooling)计算一个局部区…...
API基础————包
什么是包,package实际上就是一个文件夹,便于程序员更好的管理维护自己的代码。它可以使得一个项目结构更加清晰明了。 Java也有20年历史了,这么多年有这么多程序员写了无数行代码,其中有大量重复的,为了更加便捷省时地…...
【C++】一文带你走入vector
文章目录 一、vector的介绍二、vector的常用接口说明2.1 vector的使用2.2 vector iterator的使用2.3 vector空间增长问题2.4 vector 增删查改 三、总结 ヾ(๑╹◡╹)ノ" 人总要为过去的懒惰而付出代价ヾ(๑╹◡╹)ノ" 一、vector的介绍 vector…...
《Secure Analytics-Federated Learning and Secure Aggregation》论文阅读
背景 机器学习模型对数据的分析具有很大的优势,很多敏感数据分布在用户各自的终端。若大规模收集用户的敏感数据具有泄露的风险。 对于安全分析的一般背景就是认为有n方有敏感数据,并且不愿意分享他们的数据,但可以分享聚合计算后的结果。 联…...
十三、Django之添加用户(原始方法实现)
修改urls.py path("user/add/", views.user_add),添加user_add.html {% extends layout.html %} {% block content %}<div class"container"><div class"panel panel-default"><div class"panel-heading"><h3 c…...
Elasticsearch数据操作原理
Elasticsearch 是一个开源的、基于 Lucene 的分布式搜索和分析引擎,设计用于云计算环境中,能够实现实时的、可扩展的搜索、分析和探索全文和结构化数据。它具有高度的可扩展性,可以在短时间内搜索和分析大量数据。 Elasticsearch 不仅仅是一个…...
gitgitHub
在git中复制CtrlInsert、粘贴CtrlShif 一、用户名和邮箱的配置 查看用户名 :git config user.name 查看密码: git config user.password 查看邮箱:git config user.email 查看配置信息: $ git config --list 修改用户名 git co…...
十天学完基础数据结构-第九天(堆(Heap))
堆的基本概念 堆是一种特殊的树形数据结构,通常用于实现优先级队列。堆具有以下两个主要特点: 父节点的值始终大于或等于其子节点的值(最大堆),或者父节点的值始终小于或等于其子节点的值(最小堆ÿ…...
vertx的学习总结7之用kotlin 与vertx搞一个简单的http
这里我就简单的聊几句,如何用vertx web来搞一个web项目的 1、首先先引入几个依赖,这里我就用maven了,这个是kotlinvertx web <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apac…...
golang学习笔记(二):链路追踪
自定义http连接的服务端 package serverimport ("github.com/gin-gonic/gin""go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin""net/http" )type MyServer struct {Server *http.Server }func GetServer() *MyS…...
git提交代码实际操作
1.仓库的代码 2.克隆代码下存在的分支 git clobe https://gitee.com/sadsadasad/big-event-11.git 3.查看当下存在的分支 git branch -a 在很多情况下,我们是要围绕着dev分支进行开发,所以我们可以在开发之前问明白围绕那个分支进行开发。 4.直接拉去dev分支代码 5.如果没在…...
TF坐标变换
ROS小乌龟跟随 5.1 TF坐标变换 Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程 tf模块:在 ROS 中用于实现不同坐标系之间的点或向量的转换。 在ROS中坐标变换最初对应的是tf,不过在 hydro 版本开始, tf 被弃用,迁移到 tf2,后者更…...
如何进行网络编程和套接字操作?
网络编程是计算机编程中重要的领域之一,它使程序能够在网络上进行数据传输和通信。C语言是一种强大的编程语言,也可以用于网络编程。网络编程通常涉及套接字(Socket)操作,套接字是一种用于网络通信的抽象接口。本文将详…...
在Spark中集成和使用Hudi
本文介绍了在Spark中集成和使用Hudi的功能。使用Spark数据源API(scala和python)和Spark SQL,插入、更新、删除和查询Hudi表的代码片段。 1.安装 Hudi适用于Spark-2.4.3+和Spark 3.x版本。 1.1 Spark 3支持矩阵 Hudi...
力扣第226翻转二叉数 c++三种方法 +注释
题目 226. 翻转二叉树 简单 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1]示例 2: 输入:root [2,1,3] 输出&am…...
React项目部署 - Nginx配置
写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成…...
【Vue3】定义全局变量和全局函数
// main.ts import { createApp } from vue import App from ./App.vue const app createApp(App)// 解决 ts 报错 type Filter {format<T>(str: T): string } declare module vue {export interface ComponentCustomProperties {$filters: Filter,$myArgs: string} }a…...
【Pandas】Apply自定义行数
文章目录 1. Series的apply方法2. DataFrame的apply方法2.1 针对列使用apply2.2 针对行使用apply Pandas提供了很多数据处理的API,但当提供的API不能满足需求的时候,需要自己编写数据处理函数, 这个时候可以使用apply函数apply函数可以接收一个自定义函数, 可以将DataFrame的行…...
C#,数值计算——完全VEGAS编码的蒙特·卡洛计算方法与源程序
1 文本格式 using System; namespace Legalsoft.Truffer { /// <summary> /// Complete VEGAS Code /// adaptive/recursive Monte Carlo /// </summary> public abstract class VEGAS { const int NDMX 50; const int …...
山东省建设工程管理局网站/上海推广服务
锁的作用:避免并发请求时对同一个数据对象同时修改,导致数据不一致。怎么加锁:1.事务T1在对某个数据对象R1操作之前,先向系统发出请求,对其加锁L1.2.之后,事务T1对该数据对象R1有了相应的控制,在…...
巴中做网站 微信开发/什么软件可以发布推广信息
MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良。虽然性能极佳,但却有一个缺点:不支持事务处理࿰…...
wordpress控制面板/百度推广客服
前不久听我一个字节的朋友说了一个神转折的故事。 一名大专生,异常执着地向他们公司投简历,屡战屡败,屡败屡战,前前后后向字节跳动投了九次简历。 你猜后面怎么着?还真让他成功了,第九次居然拿到了offer&…...
网站开发的语言/灰色关键词排名方法
1.在本地新建一个文件夹作为本地仓库 如demo 2.进入demo文件夹 右键选择git bush here 3.进入下面的界面 输入git init 将本地仓库初始化 4.使用 git clone url 的格式将你需要的项目从GitHub上下载下来 (url为为项目服务器地址或github地址) 注&am…...
wordpress 文章图片居中/关键词优化收费标准
非旋转Treap:用运行时间换调试时间的有效手段 Hello大家好,我们今天来聊一聊非旋转Treap。 相信各位或多或少都做过些序列上的问题。如果水题我们考虑暴力;不强制在线我们可能用过莫队和待修改莫队;不更改序列上的时间戳信息的我们…...
网站地址是什么/北京网站优化多少钱
1,先找到对应的模块 flink-dist模块: 2,我们可以看到很多脚本,全是启动脚本命令 因为我们要找启动命令,standalone模式下我们通过start-cluster.sh这个脚本启动,打开看看: #!/usr/bin/env bash…...