Я пытаюсь отправить топологию Storm на удаленный хост с помощью Eclipse.
Вот мой код:
Config conf = new Config();
conf.setDebug(false);
conf.setNumWorkers(1);
conf.put(Config.NIMBUS_HOST, "hostName");
conf.put(Config.NIMBUS_THRIFT_PORT,6627);
conf.put(Config.STORM_ZOOKEEPER_SERVERS,Arrays.asList(new String[]{"hostName"}));
conf.put(Config.STORM_ZOOKEEPER_PORT,2181);
// Remote submission
StormSubmitter.submitTopology("classMain", conf, topology);
Но я получаю это исключение:
Exception in thread "main" java.lang.RuntimeException: org.apache.thrift7.TApplicationException: Binary field exceeded string size limit
at backtype.storm.StormSubmitter.submitTopologyAs(StormSubmitter.java:250)
at backtype.storm.StormSubmitter.submitTopology(StormSubmitter.java:271)
at backtype.storm.StormSubmitter.submitTopology(StormSubmitter.java:157)
at com.rbc.rbccm.hackathon.Countersearch.submitTopology(Countersearch.java:111)
at com.rbc.rbccm.hackathon.Countersearch.main(Countersearch.java:37)
Caused by: org.apache.thrift7.TApplicationException: Binary field exceeded string size limit
at org.apache.thrift7.TApplicationException.read(TApplicationException.java:111)
at org.apache.thrift7.TServiceClient.receiveBase(TServiceClient.java:71)
at backtype.storm.generated.Nimbus$Client.recv_submitTopology(Nimbus.java:184)
at backtype.storm.generated.Nimbus$Client.submitTopology(Nimbus.java:168)
at backtype.storm.StormSubmitter.submitTopologyAs(StormSubmitter.java:236)
... 4 more
Существует ли ограничение на размер строки для параметров, которые мы можем передать функции submitTopology?
Когда я иду по следу немного больше, это приводит к:
public void submitTopology(String name, String uploadedJarLocation, String jsonConf, StormTopology topology) throws AlreadyAliveException, InvalidTopologyException, AuthorizationException, org.apache.thrift.TException
{
send_submitTopology(name, uploadedJarLocation, jsonConf, topology);
recv_submitTopology();
}
recv
вызывает проблему. Какие-нибудь мысли?