开发者社区 问答 正文

jstorm 运行报错

20:56:28.633 [main] DEBUG org.apache.zookeeper.ZooKeeper - Closing session: 0x15525ae05240010
20:56:28.633 [main] DEBUG org.apache.zookeeper.ClientCnxn - Closing client for session: 0x15525ae05240010
20:56:28.643 [main-SendThread(localhost:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Reading reply sessionid:0x15525ae05240010, packet:: clientPath:null serverPath:null finished:false header:: 3,-11  replyHeader:: 3,693,0  request:: null response:: null
20:56:28.643 [main] DEBUG org.apache.zookeeper.ClientCnxn - Disconnecting client for session: 0x15525ae05240010
20:56:28.644 [main-SendThread(localhost:2181)] DEBUG org.apache.zookeeper.ClientCnxn - An exception was thrown while closing send thread for session 0x15525ae05240010 : Unable to read additional data from server sessionid 0x15525ae05240010, likely server has closed socket
20:56:28.644 [main] INFO  org.apache.zookeeper.ZooKeeper - Session: 0x15525ae05240010 closed
20:56:28.644 [main-EventThread] INFO  org.apache.zookeeper.ClientCnxn - EventThread shut down
20:56:28.656 [main] INFO  b.s.u.StormBoundedExponentialBackoffRetry - The baseSleepTimeMs [2000] the maxSleepTimeMs [60000] the maxRetries [5]
20:56:28.661 [main] DEBUG b.s.s.auth.SimpleTransportPlugin - Simple client transport has been established
20:56:28.680 [main] INFO  backtype.storm.StormSubmitter - Jar not uploaded to master yet. Submitting jar...
java.lang.RuntimeException: java.lang.RuntimeException: No client app jar, please upload it
    at backtype.storm.StormSubmitter.submitJar(StormSubmitter.java:230)
    at backtype.storm.StormSubmitter.submitTopology(StormSubmitter.java:121)
    at backtype.storm.StormSubmitter.submitTopology(StormSubmitter.java:59)
    at test.jstorm.RaceTopology.main(RaceTopology.java:42)
Caused by: java.lang.RuntimeException: No client app jar, please upload it
    at backtype.storm.StormSubmitter.submitJar(StormSubmitter.java:219)
    ... 3 more

本人新手
不知原因
跪求帮助orz~~

展开
收起
飞飞非 2016-06-06 21:00:47 6401 分享 版权
阿里云 AI 助理回答

从提供的日志和错误信息来看,您在尝试提交一个Storm拓扑(topology)到集群时遇到了问题。具体错误是No client app jar, please upload it,这意味着StormSubmitter没有找到需要上传的客户端应用程序jar包。

这里有几个可能的原因及解决办法:

  1. 确保您的代码已打包成jar文件:在提交拓扑之前,您需要将包含所有相关类和依赖的项目打包成一个jar文件。请确认你已经正确执行了这一步,并且生成的jar文件存在于预期的位置。

  2. 检查提交命令中的jar路径:当使用StormSubmitter.submitTopology()方法提交拓扑时,确保指定了正确的jar文件路径。如果你是在IDE中运行,确认项目的构建配置是否正确地包含了所有必要的输出和依赖。

  3. 查看提交命令参数:如果通过命令行提交拓扑,请检查你的命令行参数是否正确指定了jar文件的路径。例如,标准的提交命令格式可能是这样的:

    storm jar /path/to/your/jarfile.jar com.yourcompany.yourmainclass arguments
    

    确保/path/to/your/jarfile.jar指向的是实际存在的jar文件路径,且后面跟着的是主类的全限定名以及任何其他需要传递给程序的参数。

  4. 权限与网络问题:虽然当前错误直接指向jar文件未找到,但偶尔也可能是由于访问jar文件的权限问题或网络问题导致无法读取jar。确保运行提交命令的用户有权限访问该jar文件,并且网络连接(如果涉及远程集群)是正常的。

  5. 环境配置:确认你的开发环境和目标集群的版本兼容性,有时候不同版本的Storm或Zookeeper可能会有不兼容的问题。

针对新手,建议先从简单的示例开始,确保能够成功提交并运行官方提供的HelloWorld拓扑,然后再逐步过渡到自己的复杂应用。这样可以帮助你逐步排查环境配置、代码打包等方面的问题。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答地址: