Giraph源碼分析(二)—啟動(dòng)Master/Worker服務(wù)-創(chuàng)新互聯(lián)

作者 | 白松

成都創(chuàng)新互聯(lián)專注于丹陽企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),成都做商城網(wǎng)站。丹陽網(wǎng)站建設(shè)公司,為丹陽等地區(qū)提供建站服務(wù)。全流程按需開發(fā)網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

注:本文為原創(chuàng),引用轉(zhuǎn)載需與數(shù)瀾聯(lián)系。

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

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

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實(shí)例,分別作為IPC通信的客戶端和服務(wù)器端,通過Netty來發(fā)送數(shù)據(jù)。WorkerClient實(shí)例實(shí)際為NettyWorkerClient對(duì)象,WorkerServert實(shí)例實(shí)際為NettyWorkerServer對(duì)象。

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

NettyWorkerServer類的構(gòu)造方法中創(chuàng)建一個(gè)NettyServer對(duì)象,用于底層的IPC的通信,還有一個(gè)ServerData對(duì)象,作為數(shù)據(jù)實(shí)體。ServerData中包含該Worker的partitionStore、edgeStore、incomingMessageStore、currentMessageStore、聚集值等。

NettyWorkerClient類的構(gòu)造方法中創(chuàng)建一個(gè)NettyClient對(duì)象,用于底層的IPC的通信,作為客戶端。

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

Giraph源碼分析(二)—啟動(dòng)Master/Worker服務(wù)

功能:用于加載頂點(diǎn)或邊 輸入splits,每個(gè)線程都有一個(gè)WorkerClientRequestProcessor實(shí)例(實(shí)為 NettyWorkerClientRequestProcessor對(duì)象),負(fù)責(zé)向遠(yuǎn)端的worker發(fā)送數(shù)據(jù)。

Giraph源碼分析(二)—啟動(dòng)Master/Worker服務(wù)

NettyWorkerClientRequestProcessor對(duì)象用于發(fā)送的WorkerClient對(duì)象就是BspServiceWorker里面的WorkerClient對(duì)象。

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

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

在該對(duì)象中完成“計(jì)算-通信-同步”的過程。每個(gè)線程都有一個(gè)WorkerClientRequestProcessor實(shí)例(實(shí)為 NettyWorkerClientRequestProcessor對(duì)象),負(fù)責(zé)向遠(yuǎn)端的worker發(fā)送數(shù)據(jù)。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)站題目:Giraph源碼分析(二)—啟動(dòng)Master/Worker服務(wù)-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://muchs.cn/article48/dhegep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、Google網(wǎng)站收錄、外貿(mào)網(wǎng)站建設(shè)微信小程序、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營