Storm集群提交任务

准备工作:

  1. 将开发好的jar包上传到服务器package目录下
  2. Storm集群已经启动

我们提交一个WordCount任务:

为了方便,我们仍以blogchong老师的代码为例 GitHub项目链接,请读者自行打包并上传到nimbus节点上

  • nimbus服务器进入package目录
cd /root/storm1/package
  • 执行命令
storm jar ./storm-example-0.0.1-SNAPSHOT.jar com.blogchong.storm.helloworld.WordCountTopology task

解释下这条命令中的各个参数:

  • jar:运行你的storm job,topology是类中的主函数
  • ./storm-example-0.0.1-SNAPSHOT.jar:这个就不用说了,你要提交的jar包
  • com.blogchong.storm.helloworld.WordCountTopology:执行的主类
  • task:Topology任务名称,注意这个是不能重复的

执行结果如图所示

Storm集群提交任务_第1张图片
提交拓扑任务

稍等下就会显示拓扑任务提交成功。

  • 命令行查看storm任务
storm list

执行后会显示storm当前任务列表,证明任务确实提交成功了

Storm集群提交任务_第2张图片
拓扑任务列表
  • 在storm监控UI上查看
    打开http://192.168.1.150:8080,查看storm监控UI
Storm集群提交任务_第3张图片
监控UI

在这里我们可以看到当前有1条任务,并且运行在storm2的supervisor上。

  • 查看worker日志
    登录storm2主机,进入logs目录
Storm集群提交任务_第4张图片
logs目录

我们可以看到,这里有个worker-6703.log文件,这个文件就是6703端口的worker的工作日志。查看该日志

tail -f worker-6703.log

我们可以看到,终端中已经出现了不断变化的词频统计

Storm集群提交任务_第5张图片
日志

到此为止,我们的wordcount任务提交完成,当然这只是提交一个最基本的拓扑任务,更复杂的以后我们再说。

storm相关命令

  • activate :激活指定任务;
  • classpath:打印storm的classpath ;
  • deactivate :暂停storm的任务;
  • dev-zookeeper :启动一个新的Zookeeper,这种情况只用于dev/test ;
  • drpc:启动一个DRPC进程;
  • help :命令解释及操作提示;
  • jar :运行你的storm job,topology是类中的主函数;
  • kill:通过任务名称kill一个任务;
  • list:列出正在运行的topolofies和状态;
  • localconfvalue:打印出具体配置参数在本地storm配置文件中的值;
  • nimbus:启动一个nimubs进程;
  • supervisor:启动一个supervisor进程;
  • ui:启动监控页面UI的后台进程;
  • rebalance:节点扩展之后进行负载均衡;
  • remoteconfvalue:打印出具体配置参数在storm cluster中的值;
  • version :获取版本Storm号;

你可能感兴趣的:(Storm集群提交任务)