您好,登錄后才能下訂單哦!
本篇內容介紹了“storm drpc怎么定義”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
代碼:
package main.java; import main.java.bolt.RequestCounter; import backtype.storm.Config; import backtype.storm.LocalCluster; import backtype.storm.LocalDRPC; import backtype.storm.StormSubmitter; import backtype.storm.drpc.LinearDRPCTopologyBuilder; import backtype.storm.utils.DRPCClient; /** * DRPC example * * @author sjyu * */ public class DRPCTopologyMain { public static void main(String[] args) throws Exception { // LocalDRPC drpc = new LocalDRPC(); DRPCClient drpc = new DRPCClient("192.168.1.240", 3772); LinearDRPCTopologyBuilder builder = new LinearDRPCTopologyBuilder("test_func"); builder.addBolt(new RequestCounter(), 2); Config conf = new Config(); conf.setDebug(true); StormSubmitter.submitTopology("drpc_test", conf, builder.createRemoteTopology()); // LocalCluster cluster = new LocalCluster(); // cluster.submitTopology("local_cluster", conf, builder.createLocalTopology(drpc)); String str = drpc.execute("test_func", "this is a test"); //這邊drpc的client和server寫在一起了,不知道可不可以寫在兩個進程里, //想像中應該沒問題,就像網絡編程一樣,但是行不行還有待驗證。 System.out.println(str); } }
package main.java.bolt; 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 RequestCounter extends BaseBasicBolt { // Object id = new Object();這邊好像不能定義一個變量,不然就報錯, // 不知道是storm的原因還是java本來就不能這樣(我覺得我似乎要去學學java了- -) @Override public void execute(Tuple input, BasicOutputCollector collector) { String str = (String) input.getString(1); collector.emit(new Values(input.getValue(0), str)); } @Override public void declareOutputFields(OutputFieldsDeclarer declarer) { declarer.declare(new Fields("id","result")); } }
“storm drpc怎么定義”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。