亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Giraph源碼分析(二)—啟動Master/Worker服務

發布時間:2020-06-23 08:27:17 來源:網絡 閱讀:170 作者:數瀾 欄目:大數據

作者 | 白松

注:本文為原創,引用轉載需與數瀾聯系。

1、org.apache.giraph.bsp.CentralizedService 接口

功能:Basic service interface shared by both CentralizedServiceMaster and CentralizedServiceWorker.

Giraph源碼分析(二)—啟動Master/Worker服務cdn.xitu.io/2019/7/19/16c08d3d927c9e2a?w=640&h=291&f=png&s=61631">

2、org.apache.giraph.bsp.CentralizedServiceMaster接口

功能:At most, there will be one active master at a time, but many threads can be trying to be the active master.

3、org.apache.giraph.bsp.CentralizedServiceWorker接口

功能:All workers should have access to this centralized service to execute the following methods.

4、org.apache.giraph.bsp.BspService抽象類

功能:Zookeeper-based implementation of CentralizedService.

5、org.apache.giraph.master.BspServiceMaster類

功能:ZooKeeper-based implementation of CentralizedServiceMaster.

6、org.apache.giraph.worker.BspServiceWorker類

功能:ZooKeeper-based implementation of CentralizedServiceWorker.

BspServiceWorker類有WorkerClient和WorkerServer實例,分別作為IPC通信的客戶端和服務器端,通過Netty來發送數據。WorkerClient實例實際為NettyWorkerClient對象,WorkerServert實例實際為NettyWorkerServer對象。

NettyWorkerClient implements WorkerClient接口,NettyWorkerServer implements WorkerServer接口。

NettyWorkerServer類的構造方法中創建一個NettyServer對象,用于底層的IPC的通信,還有一個ServerData對象,作為數據實體。ServerData中包含該Worker的partitionStore、edgeStore、incomingMessageStore、currentMessageStore、聚集值等。

NettyWorkerClient類的構造方法中創建一個NettyClient對象,用于底層的IPC的通信,作為客戶端。

7、org.apache.giraph.worker.InputSplitsCallable 抽象類,繼承 Callable接口。

Giraph源碼分析(二)—啟動Master/Worker服務

功能:用于加載頂點或邊 輸入splits,每個線程都有一個WorkerClientRequestProcessor實例(實為 NettyWorkerClientRequestProcessor對象),負責向遠端的worker發送數據。

Giraph源碼分析(二)—啟動Master/Worker服務

NettyWorkerClientRequestProcessor對象用于發送的WorkerClient對象就是BspServiceWorker里面的WorkerClient對象。

VertexInputSplitsCallable類中的readInputSplit()方法用來從split中讀取頂點的信息,然后調用NettyWorkerClientRequestProcessor對象的sendVertexRequest()方法把頂點發送到它所屬的Partition上。

8、org.apache.giraph.graph.ComputeCallable 類,繼承Callable接口。

在該對象中完成“計算-通信-同步”的過程。每個線程都有一個WorkerClientRequestProcessor實例(實為 NettyWorkerClientRequestProcessor對象),負責向遠端的worker發送數據。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

五大连池市| 天等县| 鄂伦春自治旗| 乌拉特中旗| 临漳县| 缙云县| 米泉市| 巴马| 台南市| 莱阳市| 台中县| 灵宝市| 镶黄旗| 普安县| 晋城| 炎陵县| 克拉玛依市| 连平县| 大关县| 彰武县| 永昌县| 舟山市| 黔西县| 开原市| 栾川县| 博乐市| 镇赉县| 自治县| 石屏县| 山丹县| 济宁市| 缙云县| 浮山县| 旺苍县| 遂溪县| 集贤县| 克拉玛依市| 聂拉木县| 广宁县| 剑阁县| 高雄县|