千家信息网

Standalone cluster模式下怎么生成一个DriverDescription类型的消息

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要讲解了"Standalone cluster模式下怎么生成一个DriverDescription类型的消息",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起
千家信息网最后更新 2025年02月01日Standalone cluster模式下怎么生成一个DriverDescription类型的消息

这篇文章主要讲解了"Standalone cluster模式下怎么生成一个DriverDescription类型的消息",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Standalone cluster模式下怎么生成一个DriverDescription类型的消息"吧!

先看看代码,这个类代码比较短,目录是deploy/rest/下。

private[spark] class RestSubmissionClientApp extends SparkApplication {  /** Submits a request to run the application and return the response. Visible for testing. */  def run(      appResource: String,      mainClass: String,      appArgs: Array[String],      conf: SparkConf,      env: Map[String, String] = Map()): SubmitRestProtocolResponse = {    val master = conf.getOption("spark.master").getOrElse {      throw new IllegalArgumentException("'spark.master' must be set.")    }    val sparkProperties = conf.getAll.toMap    val client = new RestSubmissionClient(master)    val submitRequest = client.constructSubmitRequest(      appResource, mainClass, appArgs, sparkProperties, env)    client.createSubmission(submitRequest)  }  override def start(args: Array[String], conf: SparkConf): Unit = {    if (args.length < 2) {      sys.error("Usage: RestSubmissionClient [app resource] [main class] [app args*]")      sys.exit(1)    }    val appResource = args(0)    val mainClass = args(1)    val appArgs = args.slice(2, args.length)    val env = RestSubmissionClient.filterSystemEnvironment(sys.env)    run(appResource, mainClass, appArgs, conf, env)  }}

创建一个RestSubmissionClient的client,然后将消息提交给client,消息的格式为:

( appResource, mainClass, appArgs, sparkProperties, env)

client.createSubmission(submitRequest)

client.createSubmission命令做哪些事呢?他就是提交消息给服务端,真实的处理者是服务端,是RestSubmissionServer类或者它的子类。对于独立集群来说,就是StandaloneRestServer来处理的,我们就只看submit命令的处理逻辑就可以了。

相关的函数有两个:

私有方法buildDriverDescription和重写接口方法handleSubmit

handleSubmit里调用了前一个方法,最关键的代码是两行:

val driverDescription = buildDriverDescription(submitRequest)val response = masterEndpoint.askSync[DeployMessages.SubmitDriverResponse](          DeployMessages.RequestSubmitDriver(driverDescription))

生成一个DriverDescription类型的消息,然后给Master发送RequestSubmitDriver消息,让Master来调度执行我们的spark程序,就是这里的driver。

接下来,就进入了Master的处理流程了。

感谢各位的阅读,以上就是"Standalone cluster模式下怎么生成一个DriverDescription类型的消息"的内容了,经过本文的学习后,相信大家对Standalone cluster模式下怎么生成一个DriverDescription类型的消息这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

消息 类型 生成 模式 就是 处理 代码 方法 学习 内容 命令 服务 接下来 两个 关键 函数 子类 思路 情况 接口 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全专题报告会教体局 茂名市星巢网络技术有限公司 中国专利全文数据库排序 昆明智能化软件开发网上价格 聊城软件开发公司有哪些 怀柔区网络技术服务便捷 五舟服务器硬件管理界面 网络安全法第41条如何适用 数据库都是二进制的吗 计算机网络技术买电脑 c 数据库 引用 怎样解决数据库没有信用卡 河北电力数显钟服务器 服务器到期怎么挑选 肇庆市网络安全宣传 蓝魔网络技术工作室 大学生软件开发有哪些书籍 对服务器的总结 软件开发制品安全 网络技术在相关领域的应用 计算机网络技术及应用学什么 50台电脑教室存储服务器 如何打开电脑的网络安全 医院网络安全痛点 广州国土系统软件开发公司 数据库的型是稳定的值是不稳定的 仓库数据与数据库有什么区别 败笔网络安全小组件素材粉色 通用软件开发工程师 笔试 网络安全社团授课
0