日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NodeManager启动流程与服务

發布時間:2023/12/13 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NodeManager启动流程与服务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文介紹了NodeManager的啟動流程與服務.

NodeManager主流程

????? 在main方法中new一個 NodeManager, 然后初始化并啟動.

?????? 這里主要看initAndStartNodeManager方法.

?????? 首先是增加一個shutDownHook, 即CompositeServiceShutdownHook, 它的目的是為了在NodeManager crash的時候停止compositeService (它維護了nodeManager上所有的service列表).

然后初始化, init(conf):

1. 如果配置了安全選項, 則需初始化containerTokenSecretManager.

2. 初始化ContainerExecutor, 顧名思義, ContainerExecutor封裝了nodeManager對Container操作的各種方法, 包括啟動container, 查詢指定id的container是否活著,等操作. 根據配置yarn.nodemanager.container-executor.class決定ContainerExecutor的實例, 默認為DefaultContainerExecutor.

3. New DeletionService, 用于刪除用戶文件 …..

4. New AsyncDispatcher, 和RM的AsyncDispatcher一樣. 異步分發器.

5. New NodeHealthCheckerService, 一個服務, 可以通過此服務查詢node是否健康, 當前node的健康狀態包括nodeHealthScriptRunner.isHealthy和dirsHandler.areDisksHealthy

6. 創建NodeStatusUpdater線程, 負責向RM注冊和發送心跳(更新狀態). 這里使用ResourceTracker協議向RM通信, 底層為YarnRPC. ResourceTracker接口提供了兩個方法; 提供注冊和心跳功能.

7. NodeResourceMonitor服務, 繼承于AbstractService, 沒有自己定義方法. 監控node的資源(即資源是否可用, 四種狀態, stopped, inited, notinited, started)

8. 創建ContainerManagerImpl服務, 管理container, 啟動20個RPC處理線程, 使用ContainerManager協議, ContainerManager協議為APP向NodeManager通信的協議, 提供了三個方法:

注意, 這里獲取container的狀態包括NEW, RUNNING, COMPLETE. 而container的進度信息其實是有container直接向AM匯報的.

9. 創建webServer, 啟動NodeManager的web服務. 通過yarn.nodemanagerwebapp.address設置地址, 默認端口為8042.

10. 初始化Metrics

轉載請注明出處(http://www.cnblogs.com/shenh062326/archive/2012/11/24/NodeManager.html)

轉載于:https://www.cnblogs.com/shenh062326/archive/2012/11/24/NodeManager.html

總結

以上是生活随笔為你收集整理的NodeManager启动流程与服务的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。