storm的drpc模式的作用是實現從遠端呼叫storm集群的計算資源,而不需要連線到集群的某乙個節點。ok。那麼storm實現drpc主要是使用lineardrpctopologybuilder這個類。下面就先來看看乙個簡單的例子,它的原始碼的github上。 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import
backtype.storm.config;
import
backtype.storm.localcluster;
import
backtype.storm.localdrpc;
import
backtype.storm.stormsubmitter;
import
backtype.storm.drpc.lineardrpctopologybuilder;
import
backtype.storm.topology.basicoutputcollector;
import
backtype.storm.topology.outputfieldsdeclarer;
import
backtype.storm.topology.base.basebasicbolt;
import
backtype.storm.tuple.fields;
import
backtype.storm.tuple.tuple;
import
backtype.storm.tuple.values;
public
class
basicdrpctopology
@override
public
void
declareoutputfields(outputfieldsdeclarer declarer)
}
public
static
void
main(string args)
throws
exception )
cluster.shutdown();
drpc.shutdown();
}
else
}
}
這段**主要實現的功能是給接收到的每乙個輸入後面新增乙個感嘆號。ok,這樣就可以編譯提交了。
不過在這之前需要先配置storm集群的drpc server的ip。如圖。主要是下面的server的ip需要配置好。並且集群的每乙個節點的配置檔案都需要配置這項引數!
然後即可使用storm drpc &命令啟動drpc模式。(這裡的分工是172.17.150.6為客戶端,其餘的172.17.150.7(.8,.11)為集群的三個節點,.11是nimbus節點。)
ok,那接下來就使用客戶端向集群提交topology。如圖。使用客戶端向集群提交名為exclaim的topology。裡面設定的worker數為3。
從下圖可以看到兩個supervisor分別有乙個是執行兩個worker,有乙個是執行乙個worker。
ok,下面是客戶端呼叫遠端資源進行計算的程式。主要是宣告drpcclient的ip以及埠,以及指定執行的方法名和傳入的引數(client.execute("exclamation",word))。
執行結果如下。
ok,整個drpc的過程就是這樣。
謝謝大家!本人水平有限,請不吝指正!
Storm集群的DRPC模式
storm的drpc模式的作用是實現從遠端呼叫storm集群的計算資源,而不需要連線到集群的某乙個節點。ok。那麼storm實現drpc主要是使用lineardrpctopologybuilder這個類。下面就先來看看乙個簡單的例子,它的原始碼的github上。import backtype.sto...
storm學習三 drpc學習
1.drpc介紹 storm是乙個分布式實時處理框架,它支援以drpc方式呼叫.可以理解為storm是乙個集群,drpc提供了集群中處理功能的訪問介面.其實即使不通過drpc,而是通過在topoloye中的spout中建立乙個tcp http監聽來接收資料,在最後乙個bolt中將資料傳送到指定位置也...
Storm 二 Storm集群部署
集群部署的基本流程 集群部署的基礎環境準備 storm集群部署 storm集群的常用操作命令 storm集群的程序及日誌檢視 注意 所有的集群上都需要配置hosts vi etc hosts 192.168.239.128 storm01 zk01 hadoop01 192.168.239.129 ...