我是风暴初学者。我正在尝试远程模式下的drpc服务器。我启动了drpc服务器,并在yaml文件中配置了drpc服务器的位置。但是,我不了解drpc客户端代码应如下所示:
https://github.com/nathanmarz/storm-starter/blob/master/src/jvm/storm/starter/BasicDRPCTopology.java

这是我所做的:


启动了DRPC服务器(storm drpc命令)
配置DRPC服务器的位置(已编辑yaml文件。添加了本地主机名)
将DRPC拓扑提交到Storm集群-这样做,看起来拓扑已启动并正在运行。


但是,如何让客户端在此拓扑上调用/执行?我需要这样的东西吗?https://github.com/mykidong/storm-finagle-drpc-client/blob/master/src/main/java/storm/finagle/drpc/StormDrpcClient.java?我试过了,但是我一直收到这个错误:

storm / starter / DRPCClient.java:[68,18]错误:DRPCClient中的execute(String,String)无法在Iface中实现execute(String,String)
   [错误]重写的方法不会引发TException

我在这里想念什么?谢谢

最佳答案

这是Storm DRPC Document
可能对理解DRPC调用有用:)

就像下面的代码:

DRPCClient client = new DRPCClient("drpc-host", 3772);
String result = client.execute("reach", "http://twitter.com");


在3772端口上创建到DRPC-Server-Host的客户端连接:drpc-host。

DRPCClient使用参数“ http://twitter.com”调用了“到达”功能

并返回一个名为result的字符串

10-06 09:58