Master资源调度--Worker向Master注册
Youtube 视频
youtube (Master资源调度--Worker向Master注册) https://youtu.be/SFqXaIKt-yI
Worker向Master注册
worker发送注册消息(RegisterWorker)
override def onStart() {
assert(!registered)
logInfo("Starting Spark worker %s:%d with %d cores, %s RAM".format(
host, port, cores, Utils.megabytesToString(memory)))
logInfo(s"Running Spark version ${org.apache.spark.SPARK_VERSION}")
logInfo("Spark home: " + sparkHome)
createWorkDir()
shuffleService.startIfEnabled()
webUi = new WorkerWebUI(this, workDir, webUiPort)
webUi.bind()
val scheme = if (webUi.sslOptions.enabled) "https" else "http"
workerWebUiUrl = s"$scheme://$publicAddress:${webUi.boundPort}"
registerWithMaster()
metricsSystem.registerSource(workerSource)
metricsSystem.start()
// Attach the worker metrics servlet handler to the web ui after the metrics system is started.
metricsSystem.getServletHandlers.foreach(webUi.attachHandler)
}Master处理Worker的注册消息
receiveAndReply接收消息
在master上new WorkerInfo信息
WorkerInfo信息注册到master上(内存中)
把WorkerInfo信息保存到master的存储引擎中
给Worker发送消息: RegisteredWorker
调用master的资源调试方法,一般在worker启动时,此时还没有新的作业提交,所以此时资源调度是没有实际分配的
Last updated
Was this helpful?