码迷,mamicode.com
首页 > 其他好文 > 详细

记一次storm提交任务遇到的坑

时间:2018-12-09 16:33:20      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:xxxxxx   cal   运行   一个   命令   bsp   使用命令   控制台   rop   

摘要:主要是自己没有真正理解storm jar命令参数的意义。

 

情景复现:

  在storm集群中使用命令提交后,在UI界面中,一直看不见任务提交上来的任务,但是在集群提交的shell界面中,是可以看到相关任务的日志输出情况的。

  下面是导致任务提交不上去的代码:

    解释:storm jar xxxxxxx.jar com.主函数名   

       在storm集群中使用此命令进行提交时,jar包后面是需要输入主函数的。

if (args.length < 1) {
  LocalCluster cluster
= new LocalCluster(); //在本地运行 cluster.submitTopology(properties.getProperty(TOPOLOGY_NAME, DEFAULT_TOPOLOGY_NAME), config, builder.createTopology());
}
else { StormSubmitter.submitTopology(properties.getProperty(TOPOLOGY_NAME, DEFAULT_TOPOLOGY_NAME), config, builder.createTopology()); }

  此代码中的args你可能会和我一样,理解成是输入的主函数的路径,就理解成在提交时输入了主函数,这儿就不小于1了,就是在集群上运行了。

  但是,实际的情况是,你在集群上,提交任务时,后面输的主函数的路径,不代表你从控制台输入的参数个数。(有点绕,自己多做两次实验就可以了)

  如果想要使用上面的方法:正确的姿势是:storm jar xxxxxxx.jar com.主函数名 随便再输入一个参数(我这儿的配置文件等,不是从控制台获取,随便输入没有任何实际意义)

 就可以使用上面的方法了。

 

记一次storm提交任务遇到的坑

标签:xxxxxx   cal   运行   一个   命令   bsp   使用命令   控制台   rop   

原文地址:https://www.cnblogs.com/zzf0305/p/10090920.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!