Storm集群提交任务
2015-12-30 本文已影响7367人
dzgdp888
准备工作:
- 将开发好的jar包上传到服务器package目录下
- 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任务
storm list
执行后会显示storm当前任务列表,证明任务确实提交成功了
拓扑任务列表- 在storm监控UI上查看
打开http://192.168.1.150:8080,查看storm监控UI
在这里我们可以看到当前有1条任务,并且运行在storm2的supervisor上。
- 查看worker日志
登录storm2主机,进入logs目录
我们可以看到,这里有个worker-6703.log文件,这个文件就是6703端口的worker的工作日志。查看该日志
tail -f worker-6703.log
我们可以看到,终端中已经出现了不断变化的词频统计
日志到此为止,我们的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号;