Master的注册机制和状态管理详解

第30课:Master的注册机制和状态管理解密 课堂笔记 第30课:Master的注册机制和状态管理解密 课堂笔记一:Master对其它组件注册的处理         Master接受注册的对象主要就是:Driver、Application、Worker; Executor不会注册给Master,Executor是注册给Driver中的SchedulerBackend的;Worker是在启动后主动向Master注册的,所以如果在生产环境下加入新的Work 阅读详情

一 、master对其他组件注册的处理

1, master接受注册的对象主要就是:driver,application,worker;需要补充说明executor不会注册给master,executor是注册给driver中的schedulerbackbend的;

2, worker是再启动后主动向master注册的,所以如果在生产环境下加入新的worker到已经正在运行的Spark集群上,此时不需要重新启动spark集群就能够使用新加入的worker以提升处理能力;

case RegisterWorker(
    id, workerHost, workerPort, workerRef, cores, memory, workerUiPort, publicAddress)=> {
  logInfo("Registeringworker %s:%d with %d cores, %s RAM".format(
    workerHost, workerPort, cores, Utils.megabytesToString(memory)))
  if (state == RecoveryState.STANDBY) {
    context.reply(MasterInStandby)
  } else if (idToWorker.contains(id)) {
    context.reply(RegisterWorkerFailed("Duplicate worker ID"))
  } else {
    val worker = new WorkerInfo(id, workerHost, workerPort, cores, memory,
      workerRef, workerUiPort, publicAddress)
    if (registerWorker(worker)) {
      persistenceEngine.addWorker(worker)
      context.reply(RegisteredWorker(self, masterWebUiUrl))
      schedule()
    } else {
      val workerAddress = worker.endpoint.address
      logWarning("Workerregistration failed. Attempted to re-register worker at same " +
        "address:" + workerAddress)
      context.reply(RegisterWorkerFailed("Attempted to re-register worker at sameaddress: "
        + workerAddress))
    }
  }

3, master在接收到worker注册的请求后,首先会判断一下当前的master是否是standby的模式,如果是的话就不处理;然后会判断当前master的内存数据结构idToWorker中是否已经有该worker的注册信息,如果有的话此时不会重复注册;

4, master如果决定接收注册的worker,首先会创建workerInfo对象来保存注册的worker信息;

private[spark] class WorkerInfo(
    val id: String,
    val host: String,
    val port: Int,
    val cores: Int,
    val memory: Int,
    val endpoint: RpcEndpointRef,
    val webUiPort: Int,
    val publicAddress: String)
  extends Serializable {
  }

然后调用registerWorker来执行具体的注册过程,如果worker的状态是否是dead的状态则直接过滤掉,对于unknown装的内容调用removeWorker进行清理(包括清理worker下的executors和driver)

5, 注册时候是先注册driver然后在注册application;

二 master对driver和executor状态变化的处理

1, 对driver状态变化的处理

case DriverState.ERROR | DriverState.FINISHED | DriverState.KILLED | DriverState.FAILED =>
  removeDriver(driverId, state, exception)

2, Executor挂掉的时候系统会尝试一定次数的重启(最多重试10次重启)
这里写图片描述

ipmaster工具软件 IPMaster是进行ip地址管理的工具软件,它提供可视化的ip地址分配、自动子网计算、掩码计算、子网划分、网段扫描、主机监控、Ping、TraceRoute、Telnet、netsend等功能,可以提高网管人员的工作效率和减少失误,本软件的目的是为了有序和高效地实现大中小型企业网IP地址的分配和管理。 立即下载

相关推荐

IPMaster1.4

IPMaster是进行ip地址管理的工具软件,它提供可视化的ip地址分配、自动子网计算、掩码计算、子网划分、网段扫描、主机监控、Ping、TraceRoute、Telnet、netsend等功能,可以提高网管人员的工作效率和减少失误,本软件的目的是为了有序和高效地实现大中小型企业网IP地址的分配和管理。 运行环境: 操作系统:Win9x, WinNT, Win2000, WinXP CPU:500MHz以上 内存:64M以上 可用硬盘空间:100M以上 最佳分辨率:1024*768或以上 名词解释: ip地址库:保存所有ip分配信息的库。 网段:代表ip范围,是ip地址库的根,由ip地址和掩码进行标识,在其下可进行子网规划,例如192.168.100.0/24。 子网:在网段下进行的ip范围细分的产物,由ip地址和掩码标识,子网有以下几种类型:已分配、可再分、保留、未使用。 拓扑树:表示网段、子网的从属关系的树,树根是网段,子网是中间节点或叶节点。 已分配子网:该子网不可以再细分,在网络上来说,该子网分配给主机使用,在拓扑树上显示为叶节点。 可再分子网:该子网可以在其下再进行更小子网的划分,在拓扑树上显示为中间节点或叶节点。 保留子网:该子网由用户保留,不可以使用。 未使用子网:没有进行规划,除上述子网以外的剩余的子网。 主机:已分配子网中的各个ip地址的逻辑映射,主机有以下几种类型:已分配、保留、未使用。 系统功能: 1)可视化的ip规划显示:整个界面分为三部分,左边是树状显示的ip拓扑,右边是子网或主机的属性,下面是提示信息。 2)可新建管理网段。 3)子网自动划分功能:在可再分类型的节点下,输入所需子网数、子网中的主机数或掩码,系统会自动规划生成子网,系统在规划时会自动跳过网段中已分配和保留类型的子网。 4)子网手工划分功能:在可再分类型的节点下,输入欲划分子网的ip地址和掩码,系统会按照指定信息生成子网。 5)删除功能:可删除指定的子网。 6)主机相关功能:ping、traceroute、telnet、netsend,其中netsend功能只适用于已启动Messenger服务的windows主机。 7)查找功能:根据子网标识、主机ip或名称查询,按照名称查找时,大小写敏感。 8)保存功能:可以保存地址库划分信息,下次系统运行时自动加载显示,数据保存在可执行程序所在目录中的IPMaster.adl文件中,同时旧文件会自动备份为IPMaster.adl.bk。 9)打开功能:可以打开adl格式的地址库信息文件并显示。 10)输出功能:可以将地址库信息输出到Excel文件中。 11)修改恢复功能:可以撤销或重做最后一步所作的子网划分操作。 12)扫描功能:可以自动扫描已分配类型子网中所有的主机的名称、MAC地址和使用人。 13)监控功能:可监控指定主机的运行情况,当主机shutdown时,可以自动告警,告警记录会自动保存在可执行程序所在目录中的“告警记录.log”文件中。 14)多种子网显示方式:系统提供“显示已分配与可再分网段”、“显示全部网段”、“显示已分配网段”、“显示未分配网段”、“显示保留网段”等多种子网显示方式,系统默认是“显示已分配与可再分网段”。 15)密码登录功能,初始密码为空。 16)对于叶节点可直接修改其子网类型。 使用方法举例: 点击“新建管理网段”菜单,在弹出的对话框中输入网段名称、地址、掩码等信息,点击“确定”按钮后,将会在树状拓扑图上新建一个“可再分类型”的网段节点,在此节点上点击右键,在弹出的右键菜单中选择“划分”,即可对此网段做进一步的划分。 IPMaster是共享软件,作者不对使用本软件造成的任何后果负责。用户可以从各种渠道免费得到它的拷贝,也可以自由传播它。本软件为绿色软件,毋需安装,直接运行可执行程序即可。试用版的有效期为2个月。

Spark学习-2.4.0-源码分析-2-Spark 核心篇-Master状态改变处理机制原理剖析与源码分析

文章目录@[toc]1. Master状态改变处理内容2. 状态改变处理机制与源码分析2.1 处理Master状态改变2.1.1 Active Master不再Active2.1.2 Stand Master变为Active Master2.2 处理Driver状态改变2.3 处理Executor状态改变致谢 1. Master状态改变处理内容   首先对于Master来说,存在Active M...

pre_tender的博客 482

Camera metadata

Camera metadata

weixin_42136255的博客 2527

角色管理--敏捷master(虚拟)

本文在研发组织管理中的位置: 研发组织管理--角色管理--敏捷master(虚拟) 定位: 项目组内部敏捷过程例行事务的推动者。 职责: 1、作为《敏捷开发流程规范》的落地者和监督者,协助敏捷教练,推广和实施敏捷迭代; 2、监督迭代需求会准备/需求会/启动会准备,把握质量; 3、主持启动会以及回顾会,把控会议质量和长度; 3、负责迭代过程中卡片的维护工作,保障迭代卡片的建立、估时、打点、状态流转等正常进行; 4、负责迭代过程中需求变动/需求插入等沟通和卡片调整; 5、关注上个迭.

软件猿扫地僧 838

无人机WIFI集群组网技术详解及成本分析

无人机WIFI集群组网技术是指利用无人机作为移动平台,通过集成高性能的WIFI模块,实现多架无人机之间以及无人机与地面控制站之间的无线通信组网。在协议层面,无人机WIFI集群组网需要遵循标准的无线通信协议,如IEEE 802.11系列(即WIFI标准),同时可能还需定制或优化路由协议、媒体访问控制(MAC)协议等,以确保高效、可靠的数据传输。数据安全与隐私保护:无人机集群组网中传输的数据可能涉及敏感信息,需采取加密、认证等安全措施,确保数据传输的安全性和用户隐私的保护。根据性能不同,价格差异较大。

专注多旋翼、复合翼无人机技术研究,从事低空经济行业。 1582

S7-1200 Modbus TCP客户端配置实战:从基础设置到数据交互详解

本文详细介绍了S7-1200 Modbus TCP客户端的配置方法,从基础设置到数据交互的完整流程。涵盖硬件准备、TIA Portal配置、MB_CLIENT指令参数详解、数据缓冲区管理及实战测试,帮助工程师快速掌握西门子PLC与Modbus TCP通信的关键技术。

fire9的博客 310

Spark架构原理-Master状态改变处理机制原理剖析与源码分析

原文地址:https://blog.youkuaiyun.com/zhanglh046/article/details/78485818 一、Master故障挥着宕机,可能触发新的Master选举 当重新选择Leader的时候,会进行集群的恢复,在恢复的过程中,就会向Worker和AppClient发送MasterChanged消息。 private def beginRecovery(storedA...

上海一九四三 456

汇川EASY521 PLC实战指南:从硬件选型到程序架构与故障排查

可编程逻辑控制器(PLC)是工业自动化系统的核心大脑,其工作原理基于循环扫描机制,持续读取输入、执行用户程序并更新输出。这种确定性控制方式,使其在逻辑控制、顺序控制和运动控制中具有不可替代的技术价值,广泛应用于机械设备、生产线和过程控制等场景。对于汇川EASY521这类紧凑型高性能PLC,其核心优势在于集成了运动控制与丰富通讯接口,为中小型设备提供了高性价比的一站式解决方案。在实际应用中,工程师常需处理如“汇川sv660n”伺服驱动器的集成调试,或利用“hslcommunication”等开源库实现C#上位

weixin_42525264的博客 733

通信中的心跳包、注册包

心跳包其实就是一个在终端设备和服务器之间定时通知服务器自己状态的一串自己定义的字符,按照一定的时间间隔主动进行发送,因为这种工作机制类似于我们人类的心跳所以将它称为心跳包。

jsy6666的博客 2363

Windows环境下QGIS完整编译指南(从环境搭建到问题解决)

本文详细介绍了在Windows 11系统下编译QGIS 3.40.12版本的完整流程。主要内容包括:前期准备工作(系统要求、工具清单)、环境搭建(Visual Studio 2026、OSGeo4W、Qt Creator的安装配置)、以及详细的CMake参数设置。特别强调了依赖管理的重要性,并提供了解决常见编译错误的方案。该指南适用于GIS二次开发、QGIS功能定制和源码学习等场景,通过OSGeo4W工具简化了复杂的依赖管理过程,确保编译过程的可重复性。

LuckyHanMo的博客 1332

华为ONU远程登录管理配置

华为P602E、EG8040CONU、EG8240H5、W626E等ONU、ONT默认无法配置管理IP,无法远程telnet登录管理。校园网项目中因故障诊断需要远程登录ONU可以通过OLT的远程WEB代理功能链接登录,具体配置如下:

symstandsun的博客 6109

框架分析--master组件、monitor组件与服务器管理框架

在前面的介绍中,我们知道pomelo支持动态地增加以及删除某一个服务器,于是我们会问当增加一个应用服务器的时候,已经启动的应用服务器是怎么知道新增加了一个服务器的;当停止某个服务器时,其他服务器又是怎样获知这些消息,并使得以后的rpc或者消息不路由到已经停止的服务器的。还有,如果查看整个服务器群的信息,或者整个服务器群的运行状态。诸如此类的问题,pomelo提供了一个管理框架,通过对这个框架进行扩...

疯狂的程序员 2035

【PySide6拓展】初识QChart图表

在 PySide6 中,QtCharts模块提供了一系列强大的类,用于创建和管理图表。QChart是这个模块的核心类,它可以帮助开发者轻松地实现数据的可视化。本篇文章将介绍如何使用 PySide6 的QtCharts模块,并通过一个简单的示例教你如何快速引入QChart。QChart折线图柱状图饼图区域图它能够直观地呈现数据,同时支持交互功能,如缩放、拖拽和工具提示等。通过引入QChart,我们可以轻松实现数据的可视化,提升应用的交互性和用户体验。结合其他QtCharts。

m0_62599305的博客 820

day30:Master的注册机制和状态管理解密

以下内容整理来源于DT大数据梦工厂:

zhanglin200508的专栏 956

从数字后端角度谈谈occ电路(一)

摘要:本文介绍了芯片测试中OCC(On-Chip Clock Control)电路的设计与应用。随着工艺进步,芯片制造面临Stuck-at、Bridging和Delay等故障类型,需要不同时钟频率进行测试。OCC电路通过Clock Selection、Clock Chopping Control和Clock Gating三个模块,实现ATE时钟与PLL时钟的切换控制,支持慢速时钟检测Stuck-at故障和快速时钟检测Delay故障。文章详细解析了OCC电路结构及各模块功能,包括同步单元、移位寄存器等关键组件

芯冰乐 585

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Spark Master的注册机制与状态管理

1、Master接收注册的主要对象 Master主要接受注册的对象是:Application,Driver,Worker。 注意:Executor不是注册给master而是注册给Driver中的SchedulerBackend 2、Master接收Worker的注册 Worker启动后主动向Master注册,所以在生产环境下不需要重启集群就能够使用新的Worker。 (1)worker是...

fighting 1093

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Master的注册机制和状态管理

master接受注册的对象主要就是:worker,driver,application

bingo_liu的博客 733

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Master的注册机制和状态管理解密

一 、master对其他组件注册的处理1, master接受注册的对象主要就是:driver,application,worker;需要补充说明executor不会注册给master,executor是注册给driver中的schedulerbackbend的;2, worker是再启动后主动向master注册的,所以如果在生产环境下加入新的worker到已经正在运行的spark集群上,此时不需

sundujing的博客 727

第30课 Master的注册机制和状态管理解密

一 、master对其他组件注册的处理 1, master接受注册的对象主要就是:driver,application,worker;需要补充说明executor不会注册给master,executor是注册给driver中的schedulerbackbend的; 2, worker是再启动后主动向master注册的,所以如果在生产环境下加入新的worker到已经正在运行的Spark集

tianmangshan80的专栏 614

master的注册机制和状态管理

一:Master对其它组件注册的处理 1, Master接受注册的对象主要就是:Driver、Application、Worker;不要补充说明是Executor不会注册给Master,Executor是注册给Driver中的SchedulerBackend的; 2, Worker是在启动后主动向Master注册的,所以如果在生产环境下加入新的Worker到已经正在运行的Spark集群上,此时

a11a2233445566的专栏 378

[Spark内核] 第30课:Master的注册机制和状态管理解密

本課主題 Master 接收 Worker, Driver, Application Master 处理 Driver 狀态变换 Master 处理 Executor狀态变换 [引言部份:你希望读者看完这篇博客后有那些启发、学到什么样的知识点] 更新中...... Master 接受 Driver, Worker, Application 注册內幕 可以把 M...

weixin_30325793的博客 129

大数据IMF传奇行动绝密课程第30课:Master的注册机制和状态管理解密

Master的注册机制和状态管理解密一、Master接受Driver注册内幕 二、Master接受Application注册内幕 三、Master接受Worker注册内幕 四、Master处理Driver状态变化内幕 五、Master处理Executor状态变化内幕一、Master对其它组建注册的处理 1、Master接受注册的对象主要是:Driver、Application、Worker

tom_8899_li的博客 519

0003.spark2.0源码分析(3)--master注册机制与状态管理

本小节主要讲解Driver、Worker、Appliction进行注册给Master的源码分析,Master对Driver和Executor状态改变的源码分析。

njiang的专栏 1243

Spark学习-2.4.0-源码分析-3-Spark 核心篇-Master注册机制原理剖析

文章目录1.Master 与 Driver, Worker, Application 注册关系阐述2. Worker注册流程分析3. Application注册流程分析致谢 1.Master 与 Driver, Worker, Application 注册关系阐述 如果拿一个公司来类比的话,可以这样理解:  (类比出处) Master 想像成公司里的总经理 Driver 就是客户 Wor...

pre_tender的博客 368

Spark源码——注册机制

worker向master注册 worker在启动之后,就会向master进行注册 对于worker状态为DEAD的,过滤掉。在compeleRecover()中,master在一定时间期限已经完成了恢复,但是发现其中的worker为UNKNOWN的情况下,对worker进行remove,将worker的状态设置为DEAD,如果过了很长时间worker又莫名其妙的向master进行注册的情况下,直接过滤掉。 对于worker状态为UNKNOWN,master会将旧的worker信息给清理掉,替换

阿松的博客 783

spark源码分析之master注册机制篇

解释: worker向master注册 worker在启动之后,就会向master进行注册 对于worker状态为dead的,过滤掉。比如说master在一定时间期限已经完成了恢复,但是发现其中的worker为unknown的情况下,对worker进行remove,将worker的状态设置为dead,如果过了很长时间worker又莫名其妙的向master进行注册的情况下,直接过滤掉 对于...

402
上一篇: Master HA解密
下一篇: Spark资源调度分配解密
囧芝麻
博客等级 码龄10年 10粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值