当前位置: 首页 > news >正文

Elasticsearch架构基本原理

Elasticsearch的架构原理可以详细分为以下几个方面进行介绍:

一、Elasticsearch基本概念

Elasticsearch(简称ES)是一个基于Lucene构建的开源、分布式、RESTful搜索和分析引擎。它支持全文搜索、结构化搜索、半结构化搜索、数据分析、地理位置和对象间关联关系搜索等功能。ES使用Java编写,隐藏了Lucene的复杂性,为开发者提供了一套统一的API和client。

二、Elasticsearch节点类型

  1. Master节点:
    • 主要负责:管理索引(如创建、删除索引)、分配分片、维护元数据、管理集群节点状态。
    • 特点:不负责数据写入和查询,比较轻量级。
    • 选举过程:通过Zen Discovery机制找到集群中的其他节点,并建立连接,然后从候选主节点中选举出一个主节点。
  2. DataNode节点:
    • 主要负责:数据写入、数据检索。大部分ES的压力都集中在DataNode节点上。
    • 特点:可以保存数据的节点,负责保存分片数据。
    • 决策:由Master Node决定如何把分片分发到数据节点上。
  3. 其他节点类型:
    • Master eligible nodes:可以参与选举的合格节点,每个节点启动后默认就是一个Master eligible节点。
    • Ingest Node:数据前置处理转换节点,支持pipeline管道设置,用于对数据进行过滤、转换等操作。
    • Machine Learning Node:负责运行机器学习的Job,用于异常检测等。

三、分片和副本机制

  1. 分片(Shard):
    • ES将索引的数据分成若干部分,分布在不同的服务器节点中。每个分片是一个独立的、可读写的Lucene索引。
    • 主分片数在索引创建时指定,后续不允许修改。
  2. 副本分片(Replica Shard):
    • 是主分片的拷贝,用于实现数据的冗余和高可用性。
    • 每个分片可以有多个副本分片,副本分片可以分布在不同的节点上。

四、Elasticsearch重要工作流程

  1. 文档写入原理:
    • 选择任意一个DataNode发送请求,该节点成为coordinating node(协调节点)。
    • 通过路由计算公式确定文档要写入的分片。
    • coordinating node将请求转发给对应的primary shard所在的DataNode。
    • Primary Shard处理请求,写入数据到索引库中,并将数据同步到Replica shard。
  2. 检索原理:
    • client发起查询请求,某个DataNode接收到请求后成为coordinating node。
    • coordinating node将查询请求广播到每一个数据节点,数据节点的分片处理查询请求。
    • 各分片将符合条件的数据返回给coordinating node,coordinating node汇总并排序结果后返回给client。

五、数据存储与索引

  • ES使用Lucene作为其底层数据存储引擎,数据存储在Lucene索引中。
  • ES支持近实时索引,通过refresh、flush和segment合并等机制确保数据的快速检索和更新。

六、集群管理

  • ES通过HTTP协议进行节点之间的通信,实现集群的状态管理和数据同步。
  • 支持集群的弹性伸缩,可以通过添加或移除节点来调整集群的规模。

以上是对Elasticsearch架构原理的详细介绍,涵盖了其基本概念、节点类型、分片和副本机制、重要工作流程、数据存储与索引以及集群管理等方面。

后续会持续更新分享相关内容,记得关注哦!

相关文章:

Elasticsearch架构基本原理

Elasticsearch的架构原理可以详细分为以下几个方面进行介绍: 一、Elasticsearch基本概念 Elasticsearch(简称ES)是一个基于Lucene构建的开源、分布式、RESTful搜索和分析引擎。它支持全文搜索、结构化搜索、半结构化搜索、数据分析、地理位…...

STM32自己从零开始实操08:电机电路原理图

一、LC滤波电路 其实以下的滤波都可以叫低通滤波器。 1.1倒 “L” 型 LC 滤波电路 1.1.1定性分析 1.1.2仿真实验 电感:通低频阻高频的。仿真中高频信号通过电感,因为电感会阻止电流发生变化,故说阻止高频信号 电容:隔直通交。…...

无线物联网练习题

文章目录 选择填空简答大题 选择 不属于物联网感知技术的是(A) A:ZigBee B:红外传感器 C:FRID D:传感器 ZigBee是一种无线通信技术,虽然它常用于物联网中作为设备之间的通信手段,但它本身并不是一种感知技术 关于物联网于与互联网的区别的描述&#xff…...

Java的日期类常用方法

Java_Date 第一代日期类 获取当前时间 Date date new Date(); System.out.printf("当前时间" date); 格式化时间信息 SimpleDateFormat simpleDateFormat new SimpleDateFormat("yyyy-mm-dd hh:mm:ss E); System.out.printf("格式化后时间" si…...

数据库设计规范详解

一、为什么需要数据库设计 1、我们在设计数据表的时候,要考虑很多问题。比如: (1) 用户都需要什么数据?需要在数据表中保存哪些数据? (2) 如何保证数据表中数据的 正确性,当插入、删除、更新的时候该进行怎样的 约束检査 ?. (3) 如何降低数据表的 数据…...

Android12 MultiMedia框架之MediaExtractorService

上节学到setDataSource()时会创建各种Source,source用来读取音视频源文件,读取到之后需要demux出音、视频、字幕数据流,然后再送去解码。那么负责进行demux功能的media extractor模块是在什么时候阶段创建的?这里暂时不考虑APP创建…...

Chapter 8 Feedback

Chapter 8 Feedback 这一章我们介绍feedback 反馈运放的原理. 负反馈是模拟电路强有力的工具. 8.1 General Considerations 反馈系统如下图所示 Aolamp open-loop gain即开环增益. Aolxo/xi β \beta β 是 feedback factor, 注意方向. β x f x o \beta\frac{x_{f}}{x_{o…...

Administrators就最高了???system是什么??本地用户提权内网学习第三天 你知道uac是什么??

我们今天来说说本地用户提权的操作,我们在有webshell过后我们要进行进一步的提权操作,要不然对我们后期的内网渗透会有一些阻碍的操作。比如说我们使用mimikatz来进行抓取密码,就不能够成功。 Administrators与system的区别 我们来说说Admin…...

回溯 | Java | LeetCode 39, 40, 131 做题总结(未完)

Java Arrays.sort(数组) //排序 不讲究顺序的解答,都可以考虑一下排序是否可行。 39. 组合总和 错误解答 在写的时候需要注意,sum - candidates[i];很重要,也是回溯的一部分。 解答重复了。是因为回溯的for循环理解错了。 class Solutio…...

Linux系统上部署Whisper。

Whisper是一个开源的自动语音识别(ASR)模型,最初由OpenAI发布。要在本地Linux系统上部署Whisper,你可以按照以下步骤进行: 1. 创建虚拟环境 为了避免依赖冲突,建议在虚拟环境中进行部署。创建并激活一个新…...

申请一张含100个域名的证书-免费SSL证书

挑战一下,申请一张包含100个域名的证书 首先,我们访问来此加密网站,进入登录页面,输入我的账号密码。 登录后,咱们就可以开始申请证书,首先说一下,咱账号是SVIP哦,只有SVIP才可以申…...

爬数据是什么意思?

爬数据的意思是:通过网络爬虫程序来获取需要的网站上的内容信息,比如文字、视频、图片等数据。网络爬虫(网页蜘蛛)是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。 学习一些爬数据的知识有什么用呢&#x…...

Pytorch实战(二)

文章目录 前言一、LeNet5原理1.1LeNet5网络结构1.2LeNet网络参数1.3LeNet5网络总结 二、AlexNext2.1AlexNet网络结构2.2AlexNet网络参数2.3Dropout操作2.4PCA图像增强2.5LRN正则化2.6AlexNet总结 三、LeNet实战3.1LeNet5模型搭建3.2可视化数据3.3加载训练、验证数据集3.4模型训…...

wordpress 付费主题modown分享,可实现资源付费

该主题下载地址 下载地址 简介 Modown是基于Erphpdown 会员下载插件开发的付费下载资源、付费下载源码、收费附件下载、付费阅读查看隐藏内容、团购下载的WordPress主题,一款针对收费付费下载资源/付费查看内容/付费阅读/付费视频/VIP会员免费下载查看/虚拟资源售…...

【INTEL(ALTERA)】NIOS II调试器中的重新启动按钮不起作用

目录 说明 解决方法 说明 在 Nios II SBT 调试Eclipse时,如果单击 重新启动 图标, 执行被暂停, 以下错误消息: Dont know how to run. Try "help target." 解决方法 终止程序,再次下载,并启…...

Hive On Spark语法

内层对象定义之特殊数据类型 Array DROP TABLE IF EXISTS test_table_datatype_array; CREATE TABLE test_table_datatype_array (ids array<INT> ) LOCATION test/test_table_datatype_array;SELECTnames,names[1]array(names[2],names[3])names[5],names[-1],array_c…...

利用 fail2ban 保护 SSH 服务器

利用 fail2ban 保护 SSH 服务器 一、关于 fail2ban1. 基本功能与特性2. 工作原理 二、安装与配置1. Debian/Ubuntu系统&#xff1a;2. CentOS/RHEL系统&#xff1a; 三、保护 SSH四、启动 fail2ban 服务五、测试和验证六、查看封禁的 IP 地址七、一些配置八、注意事项 作者&…...

在TkinterGUI界面显示WIFI网络摄像头(ESP32s3)视频画面

本实验结合了之前写过的两篇文章Python调用摄像头&#xff0c;实时显示视频在Tkinter界面以及ESP32 S3搭载OV2640摄像头释放热点&#xff08;AP&#xff09;工作模式–Arduino程序&#xff0c;当然如果手头有其他可以获得网络摄像头的URL即用于访问摄像头视频流的网络地址&…...

Yolov8训练时遇到报错SyntaxError: ‘image_weights‘ is not a valid YOLO argument.等问题解决方案

报错说明 line 308, in check_dict_alignmentraise SyntaxError(string CLI_HELP_MSG) from e SyntaxError: image_weights is not a valid YOLO argument. v5loader is not a valid YOLO argument. fl_gamma is not a valid YOLO argument. 解决方法 将训练文件中model.tr…...

javaweb(四)——过滤器与监听器

文章目录 过滤器Filter基本概念滤波器的分类: 时域和频域表示滤波器类型1. 低通滤波器(Low-Pass Filter)2. 高通滤波器(High-Pass Filter)3. 带通滤波器(Band-Pass Filter)4. 带阻滤波器(Band-Stop Filter) 滤波器参数1. 通带频率(Passband Frequency)2. 截止频率(Cutoff Frequ…...

Swagger2Word:高效转换与文档自动化的API文档解决方案

Swagger2Word&#xff1a;高效转换与文档自动化的API文档解决方案 【免费下载链接】swagger2word 项目地址: https://gitcode.com/gh_mirrors/swa/swagger2word 在软件开发过程中&#xff0c;API文档的管理和维护常常成为团队协作的痛点。开发人员使用Swagger/OpenAPI规…...

微信小程序登录总失败?从‘一次性code’到‘缓存清理’,这份避坑指南帮你全搞定

微信小程序登录全链路排雷手册&#xff1a;从原理到实战的深度解析 登录功能作为微信小程序用户体系的入口&#xff0c;其稳定性直接影响用户体验和业务转化。但在实际开发中&#xff0c;开发者常会遇到各种"诡异"问题——明明按照文档实现了流程&#xff0c;却频繁出…...

Qwen2.5-VL-7B-Instruct图文对话教程:上传图片提问、多轮追问、结果导出全流程

Qwen2.5-VL-7B-Instruct图文对话教程&#xff1a;上传图片提问、多轮追问、结果导出全流程 你是不是经常遇到这样的情况&#xff1a;拿到一张复杂的图表&#xff0c;想快速理解里面的数据&#xff1b;或者看到一张有趣的图片&#xff0c;想知道背后的故事&#xff1b;又或者需…...

深度解析:关系型数据库与非关系型数据库(区别+原理+适用场景,一文吃透)

在后端开发、数据存储领域&#xff0c;“关系型数据库&#xff08;SQL&#xff09;”和“非关系型数据库&#xff08;NoSQL&#xff09;”是两个绕不开的核心概念。很多开发者在选型时会困惑&#xff1a;到底该用MySQL还是MongoDB&#xff1f;PostgreSQL和Redis的区别是什么&am…...

不止于仿真:用Cadence 617深入理解共源放大器中的源级负反馈(附电阻负载对比案例)

从仿真到洞察&#xff1a;Cadence 617揭示共源放大器源极负反馈的物理本质 在集成电路设计的进阶阶段&#xff0c;工程师常会遇到一个关键转折点&#xff1a;能够熟练操作仿真工具并不等同于真正理解电路行为。共源放大器作为模拟电路设计的基石&#xff0c;其源极负反馈机制的…...

交换机堆灰指南:为什么你的HSRP热备切换总超15秒?从生成树到接口追踪的完整排错

交换机堆灰指南&#xff1a;为什么你的HSRP热备切换总超15秒&#xff1f;从生成树到接口追踪的完整排错 当核心交换机的HSRP切换时间超过15秒&#xff0c;业务中断的每一毫秒都在考验运维团队的神经。这不是简单的协议超时问题&#xff0c;而是网络冗余架构中多个子系统协同失效…...

手把手教你优化SiC MOSFET模块:从铜带键合到双面散热的5个关键技术

SiC MOSFET功率模块封装优化实战&#xff1a;五大关键技术深度解析 在电力电子领域&#xff0c;碳化硅(SiC)MOSFET功率模块正逐步取代传统硅基IGBT&#xff0c;成为高效率、高功率密度应用的首选。然而&#xff0c;要充分发挥SiC材料的性能优势&#xff0c;封装技术面临前所未…...

STM32光敏电阻传感器实战:从硬件接线到代码调试全流程(附避坑指南)

STM32光敏电阻传感器实战&#xff1a;从硬件接线到代码调试全流程&#xff08;附避坑指南&#xff09; 在智能家居和环境监测项目中&#xff0c;光照强度检测是一个基础但关键的功能模块。光敏电阻因其成本低廉、使用简单&#xff0c;成为许多开发者的首选传感器。本文将带你从…...

Windows 10/11防火墙设置:如何快速开启ICMP协议实现Ping功能(详细图文)

Windows系统ICMP协议配置全指南&#xff1a;从基础原理到高阶应用 在IT运维和开发工作中&#xff0c;网络连通性测试是最基础却又最频繁的需求之一。想象一下这样的场景&#xff1a;你正在部署一个关键服务&#xff0c;却发现客户端无法连接到服务器&#xff1b;或是远程协助同…...

Ext2Read:终极Windows读取Linux分区解决方案,3分钟快速上手

Ext2Read&#xff1a;终极Windows读取Linux分区解决方案&#xff0c;3分钟快速上手 【免费下载链接】ext2read A Windows Application to read and copy Ext2/Ext3/Ext4 (With LVM) Partitions from Windows. 项目地址: https://gitcode.com/gh_mirrors/ex/ext2read 你是…...