真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Standalonecluster模式下怎么生成一個(gè)DriverDescription類(lèi)型的消息

這篇文章主要講解了“Standalone cluster模式下怎么生成一個(gè)DriverDescription類(lèi)型的消息”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Standalone cluster模式下怎么生成一個(gè)DriverDescription類(lèi)型的消息”吧!

我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、萊山ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的萊山網(wǎng)站制作公司

先看看代碼,這個(gè)類(lèi)代碼比較短,目錄是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)
  }
}

創(chuàng)建一個(gè)RestSubmissionClient的client,然后將消息提交給client,消息的格式為:

( appResource, mainClass, appArgs, sparkProperties, env)

client.createSubmission(submitRequest)

client.createSubmission命令做哪些事呢?他就是提交消息給服務(wù)端,真實(shí)的處理者是服務(wù)端,是RestSubmissionServer類(lèi)或者它的子類(lèi)。對(duì)于獨(dú)立集群來(lái)說(shuō),就是StandaloneRestServer來(lái)處理的,我們就只看submit命令的處理邏輯就可以了。

相關(guān)的函數(shù)有兩個(gè):

私有方法buildDriverDescription和重寫(xiě)接口方法handleSubmit

handleSubmit里調(diào)用了前一個(gè)方法,最關(guān)鍵的代碼是兩行:

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

生成一個(gè)DriverDescription類(lèi)型的消息,然后給Master發(fā)送RequestSubmitDriver消息,讓Master來(lái)調(diào)度執(zhí)行我們的spark程序,就是這里的driver。

接下來(lái),就進(jìn)入了Master的處理流程了。

   

感謝各位的閱讀,以上就是“Standalone cluster模式下怎么生成一個(gè)DriverDescription類(lèi)型的消息”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Standalone cluster模式下怎么生成一個(gè)DriverDescription類(lèi)型的消息這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!


名稱欄目:Standalonecluster模式下怎么生成一個(gè)DriverDescription類(lèi)型的消息
當(dāng)前URL:http://weahome.cn/article/ihgdcs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部