亚洲成a人片在线观看69,中文字幕免费无线观看,日韩精品无码一区二区三区四区,92精品国产自产在线观看直播,亚洲精品无码不卡在线观看屁,亚洲成av人片在www色猫咪

【Hadoop仿真】如何在仿真NodeManager中實(shí)現心跳

背景

Hadoop自帶的hadoop-sls只能用于壓測調度器,可在實(shí)際中影響ResourceManager性能的因素比較多,不能只看調度器。當前項目可構造海量的Fake NM節點(diǎn),用于模擬線(xiàn)上RM的巨大壓力場(chǎng)景,進(jìn)行優(yōu)化。首先需要對NM進(jìn)行仿真。

仿真NodeManager

仿真NodeManager里面的主要功能如下:

  • 向RM注冊NM。
  • 開(kāi)啟NM的RPC服務(wù)和HTTP服務(wù)。
  • 向RM發(fā)送心跳信息,以及處理NM中的Container信息。

注冊NM

向RM注冊NM,主要是調用ResourceTracker的registerNodeManager函數,主要需要下面信息:

  • http端口。
  • 當前NM節點(diǎn)的資源信息以及物理機資源信息。
  • 當前NM的節點(diǎn)ID,主要由當前節點(diǎn)的主機名以及rpc端口組成,格式為主機名:rpc端口。
  • 當前節點(diǎn)NM的版本信息。

核心代碼如下:

private void registerNodeManager() throws YarnException, IOException {
        RegisterNodeManagerRequest request = recordFactory.newRecordInstance(RegisterNodeManagerRequest.class);
        request.setHttpPort(httpPort);
        request.setResource(capability);
        request.setPhysicalResource(capability);
        request.setNodeId(this.nodeId);
        request.setNMVersion(YarnVersionInfo.getVersion());
        LOG.info("begin register NodeManager {} capacity={}, available={}, used={}", nodeId, this.capability, this.available, this.used);
        RegisterNodeManagerResponse response = resourceTracker.registerNodeManager(request);
        nmTokenMasterKey = response.getNMTokenMasterKey();
        LOG.info("Register NodeManager {}  success", nodeId);
    }

初始化RPC和http服務(wù)

根據當前Fake的主機名和rpc端口初始化rpc服務(wù),主要實(shí)現ContainerManagementProtocol協(xié)議。

private void initRpcServer(YarnConfiguration config, int port, String hostName) {
        YarnRPC rpc = YarnRPC.create(config);
        InetSocketAddress addr = NetUtils.createSocketAddr(hostName + ":" + port);
        NMTokenSecretManagerInNM tokenSecretManager = new NMTokenSecretManagerInNM();
        tokenSecretManager.setMasterKey(nmTokenMasterKey);
        Server server = rpc.getServer(ContainerManagementProtocol.class,
                this, addr, config, tokenSecretManager, 10);
        server.start();
        LOG.info("Init rpc {}:{} success", hostName, port);
    }

根據當前Fake的主機名和http端口初始化http服務(wù),目前只顯示NM的資源信息。

private void initHttpServer(int port, String hostName) throws IOException {
        InetSocketAddress addr = NetUtils.createSocketAddr(hostName + ":" + port);
        HttpServer httpServer = HttpServer.create(addr, 0);
        httpServer.createContext("/", new NMHttpHandler(this));
        httpServer.setExecutor(Executors.newFixedThreadPool(2));
        httpServer.start();
    }

心跳

NM和RM之間的心跳是NM的核心功能,主要是調用ResourceTracker的nodeHeartbeat函數,主要需要下面參數:

  • NodeStatus信息:
    • 節點(diǎn)id。
    • NodeUtilization:當前節點(diǎn)的資源信息
    • ContainersUtilization:Container的資源信息。
    • ContainersStatuses:所有Container的狀態(tài)信息。
    • 當前節點(diǎn)的狀態(tài)信息:
      • 是否健康。
      • 健康狀態(tài),在健康模式下一般是Healthy,非健康模式下就是當前節點(diǎn)的異常信息。
      • 心跳的時(shí)間戳。
  • tokenSequenceNo:上次心跳返回的tokenSequenceNo
  • LastKnownNMTokenMasterKey:上次心跳返回的LastKnownNMTokenMasterKey
  • LastKnownContainerTokenMasterKey:上次心跳返回的LastKnownContainerTokenMasterKey

核心代碼如下:

NodeStatus nodeStatus = createNodeStatus(nodeId, getContainerStatuses(containers));
nodeStatus.setResponseId(responseID);
NodeHeartbeatRequest request = NodeHeartbeatRequest.newInstance(nodeStatus, nmTokenMasterKey, nmTokenMasterKey,
                    CommonNodeLabelsManager.EMPTY_NODELABEL_SET, null, null);
request.setTokenSequenceNo(tokenSequenceNo);
request.setLastKnownNMTokenMasterKey(nmTokenMasterKey);
request.setLastKnownContainerTokenMasterKey(nmTokenMasterKey);
NodeHeartbeatResponse response = resourceTracker.nodeHeartbeat(request);


標 題:《【Hadoop仿真】如何在仿真NodeManager中實(shí)現心跳
作 者:zeekling
提 示:轉載請注明文章轉載自個(gè)人博客:浪浪山旁那個(gè)村

評論

取消
亚洲成a人片在线观看69,中文字幕免费无线观看,日韩精品无码一区二区三区四区,92精品国产自产在线观看直播,亚洲精品无码不卡在线观看屁,亚洲成av人片在www色猫咪 亚洲人成电影在线观看天堂色| 亚洲天堂a∨欧美高清| 欧美视频无砖专区一中文字目| 在线视频一区二区三区在线播放| 亚洲国产日韩欧美久久精品| 亚洲国产日韩精品在线观看| 亚洲精品一区二区三区在线观看| 亚洲欧洲日产国码高潮AV| 国产成人a亚洲精品无码青草| AV熟女五十路息孑电影| 亚洲欧美人高清精品a∨| 亚洲精品国产av婷婷在线| 亚洲国产久久综合在线观看| 综合免费一区二区| 国产精品伦一区二区三级视频| av在观线观看男人的天堂| 亚洲AV永久无码精品天堂动漫| 亚洲精品第一国产综合精品| 亚洲熟妇色XXXXX欧美老妇| 欧美性xxxx极品少妇| 亚洲国产成人精品区综合| 亚洲午夜精品一区二区蜜桃| 日本精品国产1区2区3| 中文字幕在线99| 亚洲性日韩精品一区二区| 91国语露脸精品国产| 一级视频在线观看| 亚洲不卡aV无码电影在线观看| 波多野结衣乱码中文字幕| 亚洲AV无码AV吞精久久| 中文字幕日韩专区精品系列| 一区二区三区在线视频| 亚洲亚洲人成综合丝袜图片| 成人高清无遮挡免费视频软件| 日韩精品无码中文字幕电影| 欧美熟妇乱子伦xx视频| 亚洲综合色噜噜狠狠网站超清| 日本不卡不码高清视频| 亚洲国产精品无码AV久久久| 精品亚洲成A人片在线播放| 中文在线8资源库| http://mingbiaokeji.com http://109502.com http://3n4b.com http://kfbdfno4.com http://9zxl.com http://xian-360.com