91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

班玛县| 民权县| 安新县| 县级市| 鲁甸县| 曲阜市| 永靖县| 盐城市| 鹤峰县| 玛沁县| 沁源县| 凤阳县| 响水县| 万源市| 湘乡市| 友谊县| 宜川县| 汪清县| 汉阴县| 泗洪县| 昭通市| 静宁县| 清徐县| 永安市| 琼中| 富源县| 凤翔县| 苏州市| 崇仁县| 永川市| 华池县| 澄迈县| 锡林郭勒盟| 建昌县| 象山县| 五原县| 固安县| 水富县| 淮滨县| 娱乐| 鄢陵县|