Storm 0.10.0如何创建DRPC远程客户端?

时间:2015-12-23 01:41:46

标签: apache-storm

随着Storm 0.10.0的发布,DRPCClient的签名被更改为包含Map参数

//conf map, drpc server, port no, timeout for the call
new DRPCClient(conf, "192.168.0.217", 3772, 5000);

默认情况下,conf具有以下内容

Config conf = new Config();
conf.setDebug(false);

这是在创建一个例外

java.lang.NullPointerException
java.lang.RuntimeException: java.lang.NullPointerException
at backtype.storm.security.auth.AuthUtils.GetTransportPlugin(AuthUtils.java:230)
at backtype.storm.security.auth.ThriftClient.reconnect(ThriftClient.java:91)

如果我将以下内容添加到conf

conf.put("storm.thrift.transport", "backtype.storm.security.auth.SimpleTransportPlugin");

例外是

Don't know how to convert null to int
java.lang.IllegalArgumentException: Don't know how to convert null to int
at backtype.storm.utils.Utils.getInt(Utils.java:420)
at backtype.storm.security.auth.ThriftClient.reconnect(ThriftClient.java:100)

DRPC的风暴启动程序,即https://github.com/nathanmarz/storm-starter/blob/master/src/jvm/storm/starter/trident/TridentReach.java的风暴三叉戟到达时,只显示一个本地的DRPC客户端。

教程网站上的文档已过时,并带有新的API签名 http://storm.apache.org/documentation/Trident-tutorial.html

DRPCClient client = new DRPCClient("drpc.server.location", 3772);

我知道调用中涉及一些安全性,但我们在哪里可以找到有关如何调用它的文档。

2 个答案:

答案 0 :(得分:2)

<div id='headerwrapper'>
  <div id='header1'></div>
  <div id='header2'></div>
  <div id='header3'></div>
  <div id='header4'></div>
  <div id='header5'></div>
  <div id='header6'></div>
</div>

添加所有这些,它有效。

答案 1 :(得分:2)

Config conf = new Config();
Map defaultConfig = Utils.readDefaultConfig();
conf.putAll(defaultConfig);