Jesperrekuh Jesperrekuh - 24 days ago 5
Java Question

Exception : submitTopology failed: out of sequence response

I run some java code, it wil upload the : storm-starter-topologies-0.9.6.jar
from the examples, console shows:


535 [main] INFO backtype.storm.StormSubmitter - Uploading topology jar C:\apachestorm096\examples\storm-starter\storm-starter-topologies-0.9.6.jar to assigned location: ¨/usr/local/storm/data¨/nimbus/inbox/stormjar-8b5acdaf-e6ce-4b01-9ea9-9bd92e30f417.jar

1066 [main] INFO backtype.storm.StormSubmitter - Successfully uploaded topology jar to assigned location: ¨/usr/local/storm/data¨/nimbus/inbox/stormjar-8b5acdaf-e6ce-4b01-9ea9-9bd92e30f417.jar


But I also get an error:


Exception in thread "main" org.apache.thrift7.TApplicationException: submitTopology failed: out of sequence response


In the storm UI shows the submitted topology...
But nothing is happening, no streams, no spout, no bolt... no workers...
Eclipse runs locally and storm+zookeeper on a virtual machine.

this is the code :

TopologyBuilder builder = new TopologyBuilder();
Config conf = new Config();
conf.put(Config.NIMBUS_HOST, "100.0.0.26");
conf.put(Config.STORM_ZOOKEEPER_PORT, "2181");

conf.setNumWorkers(20);
conf.setMaxSpoutPending(5000);

StormSubmitter submitter = new StormSubmitter();
conf.setDebug(true);
Map storm_conf = Utils.readStormConfig();
storm_conf.put("nimbus.host", "100.0.0.26");
Client client = NimbusClient.getConfiguredClient(storm_conf).getClient();
try {
NimbusClient nimbus = new NimbusClient(storm_conf, "100.0.0.26", 6627);


//submitter.submitTopology("blub", conf, builder.createTopology());

String inputJar = "C:\\apachestorm096\\examples\\storm-starter\\storm-starter-topologies-0.9.6.jar";
// upload topology jar to Cluster using StormSubmitter
String uploadedJarLocation = StormSubmitter.submitJar(storm_conf,inputJar);

System.out.println("Try ... ");
try {

String jsonConf = JSONValue.toJSONString(storm_conf);
System.out.println("Config : " + jsonConf );

nimbus.getClient().send_getNimbusConf();
Thread.sleep(5000);
System.out.println("Out of sleep ... ");
nimbus.getClient().submitTopology("word-count", uploadedJarLocation, jsonConf, builder.createTopology());


} catch (AlreadyAliveException e) { // (AlreadyAliveException ae) {
e.printStackTrace();
}

Answer

The error is thrown because too few config parameters are set. I forgot to set the NIMBUS_THRIFT_PORT, I also changed the way the config is defined...

  TopologyBuilder builder = new TopologyBuilder();
  Map conf = new HashMap();
  //Map conf = Utils.readStormConfig();
  conf.put(Config.NIMBUS_HOST, "100.0.0.26");
  conf.put(Config.NIMBUS_THRIFT_PORT , 6627 );
  conf.put(Config.STORM_ZOOKEEPER_PORT, 2181 );
  conf.put(Config.TOPOLOGY_WORKERS , 4);

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