原 Spark中Client原始碼分析(一)

2022-06-26 01:09:10 字數 660 閱讀 2282

下面我們重點看clientendpoint,它是執行緒安全的。

①registerwithmaster方法如下,用於非同步註冊到所有的master上,如果沒有超過再次註冊的次數(3次),那麼每20s將會重新呼叫該方法申請註冊,如果註冊成功,所有的呼叫work和futures將會被取消。

private def registerwithmaster(nthretry: int) else if (nthretry >= registration_retries) else }}

}, registration_timeout_seconds, registration_timeout_seconds, timeunit.seconds)

}

(3)onstop方法如下,釋放資源。

override def onstop(): unit =

registrationretrythread.shutdownnow()

registermasterfutures.foreach(_.cancel(true))

registermasterthreadpool.shutdownnow()

}

(4)receive方法,receive接受到的訊息分為5種,分別為

原 Spark中Client原始碼分析(二)

繼續前一篇的內容。前一篇內容為 spark中client原始碼分析 一 client中唯一的main方法如下 def main args array string val conf new sparkconf val driverargs new clientarguments args if dr...

Mybatis中Logging模組的原始碼分析

週末又來到了公司吹吹空調,順便記錄下mybatis的點點滴滴。首先mybatis不定義日誌系統,完全依賴於第三方系統完成日誌記錄,利用介面卡模式完成實際操作,原始碼如下 1 定義乙個log介面,具有如下方法 public inte ce log2 然後引入第三方日誌,比如 loggingimpl,實...

原 Spark中Master原始碼分析(二)

spark中master原始碼分析 一 2 恢復完畢,重新建立driver,完成資源的重新分配 case completerecovery completerecovery 詳見下 relaunchdriver方法如下,將driver的轉態為relaunching,新增到即將建立的driver列表中...