Local 模式:
public static void main(String[] args) {
TopologyBuilder builder = new TopologyBuilder();
LocalDRPC drpc = new LocalDRPC();
DRPCSpout spout = new DRPCSpout("exclamation", drpc);
builder.setSpout("drpc", spout);
builder.setBolt("exclaim", new ExclamatioinBolt(), 3).shuffleGrouping("drpc");
builder.setBolt("return", new ReturnResults(), 3).shffleGrouping("exclaim");
LocalCluster cluster = new LocalCluster();
Config conf = new Config();
cluster.submitTopology("exclaim", conf, builder.createTopology());
System.out.println(drpc.execute("exclamation","aaa")); //传进aaa
System.out.println(drpc.execute("exclamation","bbb")); //传进bbb
}
集群模式:
1.修改storm.yaml中的drpc.servers配置
2.启动DRPC server
./bin/storm drpc >> ./logs/drpc.out 2>&1 &
tail -f ./logs/drpc.out
public static void main(String[] args) {
DRPCClient client = new DRPCClient("master", 3772);
try {
String result = client.execute("exclamatiion", "abcd");
System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
}
}