storm 0.10.0如何创建drpc远程客户端?

fumotvh3  于 2021-06-21  发布在  Storm
关注(0)|答案(2)|浏览(331)

随着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);

我知道这个电话涉及到一些安全问题,但是我们在哪里可以找到关于如何打电话的文档呢。

kxkpmulp

kxkpmulp1#

Config conf = new Config();
        conf.setDebug(false);
        conf.put("storm.thrift.transport", "backtype.storm.security.auth.SimpleTransportPlugin");
        conf.put(Config.STORM_NIMBUS_RETRY_TIMES, 3);
        conf.put(Config.STORM_NIMBUS_RETRY_INTERVAL, 10);
        conf.put(Config.STORM_NIMBUS_RETRY_INTERVAL_CEILING, 20);
        conf.put(Config.DRPC_MAX_BUFFER_SIZE, 1048576);

加上这些,就行了。

euoag5mw

euoag5mw2#

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

相关问题