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

【Hadoop入门】Hadoop生态之Spark简介

1 什么是Spark?

Apache Spark 是一个开源的分布式计算框架,专为处理大规模数据而设计。它提供了高效、通用的集群计算能力,支持内存计算,能够显著提高数据处理和分析的速度。Spark 已经成为大数据处理领域的重要工具,广泛应用于机器学习、图计算、流处理和 SQL 查询等场景。

2 Spark的核心组件

Apache Spark作为一个统一的大数据分析引擎,其架构由多个紧密协作的核心组件构成。

2.1 Spark Core(核心引擎)

基础执行框架
  • 提供任务调度、内存管理、故障恢复等基础功能
  • 包含弹性分布式数据集(RDD)这一基本抽象
  • 支持多种资源管理器(Yarn/Mesos/Standalone)
  • 关键特性

2.2 Spark SQL

结构化数据处理
  • 支持SQL查询和DataFrame API
  • 兼容Hive的HQL语法
  • 内置Catalyst优化器:逻辑优化、物理执行计划生成、代码生成

2.3 Spark Streaming

实时流处理
  • 微批处理架构(准实时)
  • 支持DStream抽象
  • 与Kafka/Flume等消息系统集成

2.4 MLlib(机器学习库)

分布式机器学习
  • 包含50+算法
    • 分类/回归
    • 聚类
    • 协同过滤
  • 特征工程工具
  • 模型评估方法

2.5 GraphX(图计算)

图处理能力
  • 基于属性图模型
  • 实现Pregel API
  • 内置常用算法:
    • PageRank
    • 连通组件
    • 三角计数

3 Spark的工作流程

3.1 应用提交阶段

  • 触发动作
spark-submit --master yarn --class com.example.MyApp myapp.jar
  • 内部过程
  • 客户端生成包含如下信息的SparkSubmit请求:
    • 应用JAR包路径
    • Main类名
    • 资源配置参数
  • 集群管理器(YARN/Mesos)收到请求

3.2 Driver启动阶段

关键组件
  • SparkContext:整个应用的入口点
  • DAGScheduler:将逻辑执行计划转为Stage
  • TaskScheduler:分配Task到Executor
  • 内存分配示例
val conf = new SparkConf().setAppName("MyApp").setMaster("yarn").set("spark.executor.memory", "8g")
val sc = new SparkContext(conf)

3.3 Executor分配阶段

资源协商过程
  • Driver向集群管理器申请Executor资源
  • 集群管理器在Worker节点上分配Container
  • 每个Container启动一个Executor进程
  • 典型资源配置

参数

示例值

说明

spark.executor.instances

10

Executor数量

spark.executor.cores

4

每个Executor核数

spark.executor.memory

8g

每个Executor内存

3.4 DAG构建与调度

3.5 Stage划分原理

划分规则
  • 遇到宽依赖(Shuffle操作)就划分Stage
  • 窄依赖的操作合并到同一个Stage
常见宽依赖操作
  • reduceByKey
  • join
  • repartition

3.6 Task执行流程

Task生成规则
  • 每个Partition生成一个Task
  • 每个Stage生成一组TaskSet
执行时序
  • Driver的TaskScheduler发送Task到Executor
  • Executor启动线程执行Task
  • 通过BlockManager进行数据交换
  • 结果返回Driver或写入存储系统

3.7 容错处理机制

故障恢复策略
  • Executor故障:重新调度Task
  • Driver故障:需启用检查点(checkpoint)恢复
  • 数据丢失:通过RDD血缘(lineage)重新计算

4 Spark的特点与优势

4.1 核心特点

高性能:
  • 内存计算:数据优先驻留内存,减少磁盘I/O,相比 Hadoop MapReduce 提速显著,尤其适合迭代计算(如机器学习)
  • RDD弹性容错:通过弹性分布式数据集(RDD)实现高效并行处理,兼具容错能力与计算效率
全栈通用:
  • 多语言支持:提供Scala、Java、Python、R 等接口,适配多样开发需求
  • 一体化生态:集成Spark SQL(批处理)、Spark Streaming(流计算)、MLlib(机器学习)、GraphX(图计算),覆盖全场景数据处理
开发友好:
  • 简洁API:低代码设计降低学习成本,提升开发效率
  • 无缝兼容Hadoop:支持HDFS、YARN等组件,便于复用现有大数据架构
高可扩展:
  • 弹性扩缩容:从GB到PB级数据均可高效处理,适应业务增长
  • 活跃社区:开源生态持续迭代,推动技术前沿创新

4.2 技术优势

高性能:
  • 内存计算:大幅加速数据处理,适合实时场景(如实时推荐系统)
  • 并行处理:高效利用集群资源,提升计算效率
强大的生态系统:
  • 多组件支持:
    • Spark SQL(结构化数据处理)
    • Spark Streaming(实时流处理)
    • MLlib(机器学习)
    • GraphX(图计算)
  • Hadoop 兼容:无缝集成 HDFS、YARN,降低迁移成本
开发高效:
  • 简洁 API:易于学习,减少开发复杂度(如用 SQL 替代 MapReduce)
  • 交互式分析:支持 Spark Shell,便于快速调试与验证
高容错性:
  • RDD 容错:通过谱系信息(lineage)快速恢复数据
  • 检查点机制:定期持久化数据,增强可靠性
成本效益:
  • 高资源利用率:优化集群资源使用,降低硬件成本
  • 开源免费:无软件授权费用,减少企业支出

5 Spark的应用场景

批处理:
  • ETL 作业:使用 Spark SQL进行数据抽取、转换和加载
  • 日志分析:处理服务器日志,生成报表和可视化结果
实时流处理:
  • 实时监控:实时处理传感器数据、日志流等,生成实时报表和告警
  • 实时推荐:根据用户行为实时生成推荐结果,提高用户体验
机器学习与数据挖掘:
  • 模型训练:使用MLlib进行模型训练,如分类、回归和聚类等
  • 特征工程:处理大规模数据,提取特征,为模型训练做准备
图计算:
  • 社交网络分析:分析社交网络中的关系等
  • 知识图谱:构建和查询知识图谱,支持语义搜索和推理

6 总结

Apache Spark是一个功能强大、性能优越的分布式计算框架,具有速度、通用性、易用性和可扩展性等优势。它支持多种编程接口和丰富的API,适用于批处理、流处理、机器学习和图计算等多种应用场景。通过与 Hadoop生态系统的集成,Spark能够充分利用现有的大数据基础设施,为企业提供高效的数据处理和分析能力。

相关文章:

【Hadoop入门】Hadoop生态之Spark简介

1 什么是Spark? Apache Spark 是一个开源的分布式计算框架,专为处理大规模数据而设计。它提供了高效、通用的集群计算能力,支持内存计算,能够显著提高数据处理和分析的速度。Spark 已经成为大数据处理领域的重要工具,广…...

深度学习学习笔记

目录 摘要 Abstracts 简介 Hourglass Module(Hourglass 模块) 网络结构 Intermediate Supervision(中间监督) 训练过程细节 评测结果 摘要 本周阅读了《Stacked Hourglass Networks for Human Pose Estimation》&#xf…...

小米运维面试题及参考答案(80道面试题)

请讲解一下 linux top 后进程的状态 在 Linux 系统中,使用top命令可以查看系统中正在运行的进程的相关信息,进程通常有以下几种状态: 运行(R):表示进程正在 CPU 上运行或者正在运行队列中等待运行。处于运行状态的进程正在积极地使用 CPU 资源来执行其任务。睡眠(S):进…...

动态多目标优化:基于可学习预测的动态多目标进化算法(DIP-DMOEA)求解CEC2018(DF1-DF14),提供MATLAB代码

一、DIP-DMOEA介绍 基于可学习预测的动态多目标进化算法(Learning-Based Directional Improvement Prediction for Dynamic Multiobjective Optimization,DIP-DMOEA)是2024年提出的一种动态多目标进化算法,核心在于利用神经网络学…...

第十六届蓝桥杯大赛软件赛省赛 C/C++ 大学B组

由于官方没有公布题目的数据, 所以代码仅供参考 1. 移动距离 题目链接:P12130 [蓝桥杯 2025 省 B] 移动距离 - 洛谷 【问题描述】 小明初始在二维平面的原点,他想前往坐标 (233, 666)。在移动过程中,他 只能采用以下两种移动方式&#xf…...

《Nature Methods》新算法|MARBLE利用几何深度学习解释神经群体动力学

一、写在前面 本次分享的是2025年2月发布于《Nature Methods》的题为"MARBLE:interpretable representations of neural population dynamics using geometric deep learning"的文章。在神经科学和机器学习领域交汇的今天,我们不断探索如何从复杂的神经活…...

【力扣hot100题】(093)最长公共子序列

还算是挺简单的一题。 维护二维数组代表截至至两个字符串的某个位置,前面的最长公共子序列长度。 状态转移方程就是当两字符相等是,取俩位置前一个的值加一,否则就直接等于俩位置前一个值。 class Solution { public:int longestCommonSub…...

(打卡)794. 高精度除法

C: Python: aint(input()) bint(input()) print(a//b) print(a%b)...

网络5 TCP/IP 虚拟机桥接模式、NAT、仅主机模式

TCP/IP模型 用于局域网和广域网;多个协议;每一层呼叫下一层;四层;通用标准 TCP/IP模型 OSI七层模型 应用层 应用层 表示层 会话层 传输层 传输层 网络层 网络层 链路层 数据链路层 物理层 链路层:传数据帧&#xff0…...

GPU虚拟化技术在深度学习集群中的应用实践

一、深度学习集群的算力困境 某些985高校AI实验室曾面临典型算力管理难题:其配备的4台8卡A100服务器(总价值超300万元)实际利用率仅38%。学生提交的PyTorch任务常因GPU抢占导致训练中断,而部分研究组独占显卡却仅运行Jupyter Not…...

从零实现基于扩散模型的文本到视频生成系统:技术详解与Pytorch代码实现

本文详细介绍了基于扩散模型构建的文本到视频生成系统,展示了在MSRV-TT和Shutterstock视频标注数据集上训练的模型输出结果。以下是模型在不同提示词下的生成示例。 首先展示一些模型生成效果展示 提示词:“A person holding a camera”(训练…...

每天学一个 Linux 命令(14):cat

Linux 文件查看与合并命令:cat cat(全称 concatenate)是 Linux 中用于查看文件内容、合并文件或创建简单文件的基础命令。它操作简单但功能灵活,是日常文件处理的常用工具。 1. 命令作用 查看文件内容:直接输出文件内容到终端。合并文件:将多个文件内容合并输出或保存到…...

05--MQTT物联网协议

一、MQTT的概念 MQTT 协议快速入门 2025:基础知识和实用教程 | EMQ 1.MQTT(Message Queuing Telemetry Transport)是一种轻量级、基于发布-订阅模式的消息传输协议,适用于资源受限的设备和低带宽、高延迟或不稳定的网络环境。它…...

免费下载 | 2025天津大学:智能制造与数字孪生技术:面向可持续制造方向发展

一、新一代智能制造模式下的思考 当代智能制造的发展阶段 智能制造定义:智能制造是基于新一代信息通信技术与先进制造技术深度融合,贯穿于设计、生产、管理、服务等制造活动的各个环节,具有自感知、自学习、自决策、自执行、自适应等功能的新…...

考研单词笔记 2025.04.12

aware a知道的,意识到的,警觉的 awareness n意识,了解,觉察 conscious a有意识的,意识到的,有意的,刻意的,神志清醒的,慎重的,关注的 unconscious a无意识…...

八股总结(Java)持续更新!

八股总结(java) ArrayList和LinkedList有什么区别 ArrayList底层是动态数组,LinkedList底层是双向链表;前者利于随机访问,后者利于头尾插入;前者内存连续分配,后者通过指针连接多块不连续的内存…...

SpringBoot3快速入门笔记

springboot3简介 SpringBoot 帮我们简单、快速地创建一个独立的、生产级别的 Spring 应用(说明:SpringBoot底层是Spring) 大多数 SpringBoot 应用只需要编写少量配置即可快速整合 Spring 平台以及第三方技术 特性: ● 快速创建…...

vue3中,element-plus中el-input的v-model和value的用法示例

el-input的v-model&#xff0c;邦定响应式变量 <el-col :span"6"><el-form-item label"检验类别" prop"verifyType"><el-input v-model"applyAllInfo.applyBasicInfo.verifyTypeName" readonly /></el-form-item…...

python求π近似值

【问题描述】用公式π/4≈1-1/31/5-1/7..1/(2*N-1).求圆周率PI的近似值。 从键盘输入一个整数N值&#xff0c;利用上述公式计算出π的近似值&#xff0c;然后输出π值&#xff0c;保留小数后8位。 【样例输入】1000 【样例输出】3.14059265 def countpi(N):p0040nowid0for i i…...

Gerapy二次开发:搜索器组件设计开发与应用(Vue父子组件通信)

搜索器组件设计开发与应用 写在前面搜索器字段定义与样式设计具体实现components/Search.vuedeploy/Index.vue后端views.py运行效果总结欢迎加入Gerapy二次开发教程专栏! 本专栏专为新手开发者精心策划了一系列内容,旨在引领你深入探索Gerapy框架的二次迭代之旅。 本专栏将全…...

深入解析Python爬虫技术:从基础到实战的功能工具开发指南

一、引言:Python 爬虫技术的核心价值 在数据驱动的时代,网络爬虫作为获取公开数据的重要工具,正发挥着越来越关键的作用。Python 凭借其简洁的语法、丰富的生态工具以及强大的扩展性,成为爬虫开发的首选语言。根据 Stack Overflow 2024 年开发者调查,68% 的专业爬虫开发者…...

Python爬虫-爬取全球股市涨跌幅和涨跌额数据

前言 本文是该专栏的第52篇,后面会持续分享python爬虫干货知识,记得关注。 本文中,笔者将基于Python爬虫,实现批量采集全球股市行情(亚洲,美洲,欧非,其他等)的各股市“涨跌幅”以及“涨跌额”数据。 具体实现思路和详细逻辑,笔者将在正文结合完整代码进行详细介绍。…...

【NLP 59、大模型应用 —— BPE 算法】

你和生生不息的河流&#xff0c;生动了我人生中的美好瞬间 —— 25.4.11 一、词表的构造问题 为了nlp模型训练&#xff0c;词表&#xff08;字表&#xff09;是必要的 统计训练语料中的所有字符&#xff08;或词&#xff09;是一种做法&#xff0c;但是容易出现一些问题&…...

SQL基础入门:从CRUD到JOIN再到索引(通俗易懂版)

一、为什么需要SQL&#xff1f; 想象你在管理一个图书馆&#xff1a; 传统方法&#xff1a;手动记录每本书的位置、借阅者、归还日期SQL方法&#xff1a;用数据库系统自动管理&#xff0c;快速查询《Java编程思想》在哪个书架 SQL&#xff08;Structured Query Language&…...

系统编程1(进程的概念与原理)

进程的概念与原理 计算机组成部分一般遵循冯诺依曼结构&#xff0c;也就是由控制器、运算器、存储器、输入设备、输出设备五个部分组成。 ⦁ 程序的编译 一般在编写出程序之后&#xff0c;并不能直接运行&#xff0c;而是需要把程序通过编译器进行编译&#xff0c;生成可执行…...

Git基础知识

Git基础知识 目录 一、Git简介 1.1 什么是Git&#xff1f;1.2 基本概念1.3 Git与其他版本控制系统的区别 二、Git安装与配置 2.1 安装Git2.2 基础配置2.3 高级配置2.4 多账户配置 三、基本操作 3.1 创建仓库3.2 基本工作流3.3 分支操作3.4 查看历史 四、高级操作 4.1 撤销修改…...

【Flink运行时架构】核心组件

在Flink的运行架构中&#xff0c;有两大比较重要的组件&#xff1a;作业管理器&#xff08;JobManager&#xff09;和任务管理器&#xff08;TaskManager&#xff09;。 Flink的作业提交与任务处理时的系统如下图所示。 其中&#xff0c;客户端并不是处理系统的一部分&#xff…...

【区块链安全 | 第四十篇】合约审计之delegatecall(二)

文章目录 漏洞代码代码分析攻击流程攻击代码前文重现修复建议审计思路 在阅读本文之前&#xff0c;请确保已先行阅读&#xff1a;【区块链安全 | 第三十九篇】合约审计之delegatecall&#xff08;一&#xff09; 漏洞代码 存在一漏洞代码如下&#xff1a; // 库合约&#xf…...

Redis实现分布式定时任务

设计思路 任务表示&#xff1a;每个任务通过一个特定格式的键来表示。键名可以包含任务ID等信息&#xff0c;值可以是任务的具体内容或指向任务详情的引用。过期机制&#xff1a;利用Redis的EXPIRE命令为任务设置过期时间&#xff0c;当到达设定的时间点时&#xff0c;Redis会…...

ERC20合约的基本调用

文章目录 ERC20合约的基本调用合约功能compile.js 代码读取文件 进行合约编译获取二进制对象导出对象 index.js 代码编译合约读取私钥设置收款账户构造 web3 对象获取账户地址获取 abi 和 bin创建合约交易部署合约构造转账交易验证转账后余额 测试项目目录执行查询 ERC20合约的…...

『Kubernetes(K8S) 入门进阶实战』实战入门 - Pod 详解

『Kubernetes(K8S) 入门进阶实战』实战入门 - Pod 详解 Pod 结构 每个 Pod 中都可以包含一个或者多个容器&#xff0c;这些容器可以分为两类 用户程序所在的容器&#xff0c;数量可多可少Pause 容器&#xff0c;这是每个 Pod 都会有的一个根容器&#xff0c;它的作用有两个 可…...

【React框架】什么是 Vite?如何使用vite自动生成react的目录?

什么是 Vite&#xff1f; Vite 是一个基于原生 ES Modules 开发的前端构建工具&#xff0c;由 Evan You&#xff08;Vue 的作者&#xff09;开发。它最大的特点包括&#xff1a; 极速冷启动&#xff1a;因为利用了浏览器原生的 ES Modules&#xff0c;所以在开发时无需等待整…...

JS实现文件点击或者拖拽上传

B站看到了渡一大师课的切片&#xff0c;自己实现了一下&#xff0c;做下记录 效果展示 分为上传前、上传中和上传后 实现 分为两步 界面交互网络请求 源码如下 upload.html <!DOCTYPE html> <html lang"zh-CN"><head><meta charset&q…...

【Vue #3】指令补充样式绑定

一、指令修饰符 Vue 的指令修饰符&#xff08;Directive Modifiers&#xff09;是 Vue 模板语法中的重要特性&#xff0c;它们以半角句号 . 开头&#xff0c;用于对指令的绑定行为进行特殊处理 修饰符作用如下&#xff1a; 简化事件处理&#xff08;如阻止默认行为、停止冒泡…...

Vue.js组件安全工程化演进:从防御体系构建到安全性能融合

——百万级流量场景下的安全组件架构与源码级解决方案 文章目录 总起&#xff1a;安全工程化的组件革命 分论&#xff1a; 一、现存组件架构的七宗罪与安全改造路径   1.1 组件生态安全赤字现状   1.2 架构级安全缺陷深度剖析   1.3 性能与安全的死亡螺旋 二、百万级…...

LINUX基础 [二] - Linux常见指令

目录 &#x1f4bb;前言 &#x1f4bb;指令 &#x1f3ae;ls指令 &#x1f3ae;pwd指令 &#x1f3ae;whoami指令 &#x1f3ae;cd指令 &#x1f3ae;clear指令 &#x1f3ae;touch指令 &#x1f3ae;mkdir指令 &#x1f3ae;rmdir指令 &#x1f3ae;rm指令 &#…...

Linux进阶命令

目录 一、touch 1. 基本语法 2. 常用选项 二、which 1. 基本语法 2. 主要功能 3. 常用选项 三、find 1. 基本语法 2. 常用选项和表达式 四、more 1. 基本语法 2. 常用操作 3. 对比 more 和 less 五、grep 1. 基本语法 2. 常用选项 六、wc 1. 基本语法 2. 常…...

【Spring Boot 过滤器】

文章目录 前言一、什么是过滤器 Filter&#xff1f;二、Spring Boot 中使用 Filter 的方式1. 使用 Component 注解2. 使用 FilterRegistrationBean 显式注册 三、自定义过滤器示例1. 引入必要依赖2. 创建一个自定义 Filter3. 使用 FilterRegistrationBean 显式注册 四、多个 Fi…...

SPI通讯的软硬件NSS SSM SSI

学习自记&#xff1a; 1. NSS&#xff08;Slave Select&#xff0c;从设备选择&#xff09;​​ ​​功能​​&#xff1a; NSS是SPI通信中用于选择从设备的信号线。主设备通过拉低NSS信号选中某个从设备&#xff0c;使其参与通信。通信结束后&#xff0c;主设备释放NSS&#…...

Java基础:集合List、Map、Set(超详细版)

集合体系概述 Collection常用方法 补充&#xff1a;addAll() Collection的遍历方式 迭代器 增强for&#xff08;空集合可以&#xff0c;null不可以&#xff09; lambda 集合对象存储对象原理 遍历方式的区别 List集合 特点、特有方法 遍历方式 &#xff08;同上&#xff09…...

vue+leaflet 区域划分_反向遮罩层

leaflet 区域划分_遮罩层 geojson在线生成器网址:(https://datav.aliyun.com/portal/school/atlas/area_selector) 点击前往阿里云geojson生成器 效果图: 实现下面效果,只需要把addSateLayer函数的调用取消掉就好了. //添加遮罩层代码function addMask() {var latlngs;var fe…...

聊一聊原子操作和弱内存序

1、原子操作概念 在并发编程中&#xff0c;原子操作&#xff08;Atomic Operation&#xff09;是实现线程安全的基础机制之一。从宏观上看&#xff0c;原子操作是“不可中断”的单元&#xff0c;但若深入微观层面&#xff0c;其本质是由底层处理器提供的一组特殊指令来保证其原…...

免费送源码:Java+ssm+MySQL 校园二手书销售平台设计与实现 计算机毕业设计原创定制

摘 要 信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题。针对校园二手书销售平台等问题&#xff0c;对校…...

DAPP实战篇:使用ethersjs连接智能合约并输入地址查询该地址余额

本系列目录 专栏:区块链入门到放弃查看目录-CSDN博客文章浏览阅读400次。为了方便查看将本专栏的所有内容列出目录,按照顺序查看即可。后续也会在此规划一下后续内容,因此如果遇到不能点击的,代表还没有更新。声明:文中所出观点大多数源于笔者多年开发经验所总结,如果你…...

14.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--CAP

CAP 是一款专为 .NET 生态设计的开源框架&#xff0c;其核心目标是解决微服务中跨服务数据一致性问题。在分布式系统中&#xff0c;传统事务无法跨服务保证数据一致性&#xff0c;CAP 通过本地事务与消息记录绑定&#xff0c;再利用消息中间件&#xff08;如 RabbitMQ、Kafka 等…...

智能资源管理机制-重传机制

一、发送端资源管理的核心机制 1. 滑动窗口&#xff08;Sliding Window&#xff09; 这是TCP协议的核心优化设计&#xff1a; 窗口动态滑动&#xff1a;发送端不需要保留所有已发送的分组&#xff0c;只需维护一个"发送窗口"窗口大小&#xff1a;由接收方通告的接…...

【Linux网络与网络编程】08.传输层协议 UDP

传输层协议负责将数据从发送端传输到接收端。 一、再谈端口号 端口号标识了一个主机上进行通信的不同的应用程序。在 TCP/IP 协议中&#xff0c;用 "源IP"&#xff0c;"源端口号"&#xff0c;"目的 IP"&#xff0c;"目的端口号"&…...

局域网下ESP32-S3 LED灯的UDP控制

在局域网下通过IP地址控制ESP32-S3上的LED&#xff0c;可以使用UDP或TCP协议。以下是一个基于UDP协议的完整示例&#xff0c;包括ESP32-S3的服务器代码和一个简单的Python客户端代码。 ESP32-S3 服务器代码 import socket import time import network import machineled Non…...

call、bind、apply

call、bind、apply它们三个都是函数的方法&#xff0c;都可以用于改变this的指向问题。 var person "liangxiao" let obj {name:"张三",say:function() {console.log(this.name);} }obj.say(); setTimeout(function() {obj.say(); },1000) obj.say()打…...

Redis 哨兵模式 搭建

1 . 哨兵模式拓扑 与 简介 本文介绍如何搭建 单主双从 多哨兵模式的搭建 哨兵有12个作用 。通过发送命令&#xff0c;让Redis服务器返回监控其运行状态&#xff0c;包括主服务器和从服务器。 当哨兵监测到master宕机&#xff0c;会自动将slave切换成master&#xff0c;然后通过…...