当前位置: 首页 > 知识库问答 >
问题:

异常:submitTopology失败:响应顺序错误

朱慈
2023-03-14

我运行了一些java代码,它将从示例中上传:storm-starter-topologies-0.9.6.jar,控制台显示:

535[main]INFO backtype.storm.stormsubmitter-上载拓扑jar C:\apachestorm096\examples\storm-starter\storm-starter-topologies-0.9.6.jar到指定位置:–/usr/local/storm/data–/nimbus/inbox/stormjar-8b5acdaf-e6ce-4b01-9ea9-9bd92e30f417.jar

1066[main]信息backtype.storm.stormsubmitter-已成功将拓扑jar上载到指定位置:–/usr/local/storm/data–/nimbus/inbox/stormjar-8b5acdaf-e6ce-4b01-9ea9-9bd92e30f417.jar

但我也得到一个错误:

线程“main”org.apache.thrift7.tApplicationException中出现异常:submitTopology失败:响应顺序错误

在storm UI中显示提交的拓扑...但什么也没发生,没有溪流,没有喷口,没有插销...没有工人...Eclipse在本地运行,Storm+Zookeeper在虚拟机上运行。

这是代码:

  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();
  }

共有1个答案

上官高畅
2023-03-14

引发错误是因为设置的配置参数太少。我忘了设置NIMBUS_THRIFT_PORT,我还更改了配置的定义方式...

  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");
 类似资料:
  • 失败:生成失败,出现异常。 出了什么问题:任务'执行失败:app: check DebugAarMetadata'。 发生多个任务操作失败:执行com时发生故障。Android建筑格雷德尔。内部的任务。CheckAarMetadataWorkAction > 尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。运行--扫描以获得完整

  • 为什么我会出现以下错误?突然,它开始出现这个错误。 失败:生成失败,出现异常。 > 其中:脚本'C:\src\flutter\package\flutter_tools\gradle\flutter.gradle'行:1070 错误:任务:app:compileFlutterBuildDebug的执行失败。 处理“命令”C:\src\flatter\bin\flatter。bat“”以非零退出值1

  • 创建一个 API 的时候处理错误是很痛苦的。为了避免手动的创建错误响应,你可以简单的抛出一个继承了 Symfony\Component\HttpKernel\Exception\HttpException 的异常,API 会自动的为你处理响应。 这里是 Symfony 内置的异常列表。 异常 状态码 Symfony\Component\HttpKernel\Exception\AccessDeni

  • 我有一个测试: 由于是404而不是409,所以当前的情况就会崩溃。我希望测试失败,但整个测试套件却因为未捕获的异常而停止。我如何捕获异常(并使测试失败)并阻止它破坏所有其他测试? 这是我运行上面的代码时得到的输出: 问候奥斯卡

  • 我尝试运行这个gradle任务(通过gradlew) 它使用cucmber jvm 并收到此错误 当我从cmd中的同一路径运行同一行时: 更新1: 这个cmd在shell控制台中工作: ./构建/发行版/WebLarge测试/bin/WebLargeTests-f html:构建/报告/cucumber/-f json:构建/报告/cucumber/report.json--胶水com.waze.