准备工作:
- 将开发好的jar包上传到服务器nimbus节点上,如package目录下
- 启动Storm集群
- 执行命令
storm jar ./wordCountByAndy.jar com.andy.learning.storm_helloworld.SimpleTopology testtask1
解释下这条命令中的各个参数:
- jar:运行你的storm job
- ./wordCountByAndy.jar:这个提交的jar包
- com.andy.learning.storm_helloworld.SimpleTopology:执行的主类
- testtask1 本次提交的Topology任务名称,注意这个是不能重复的
执行结果如图所示
稍等下就会显示拓扑任务提交成功。
- 命令行查看storm任务 storm list
- 在storm监控UI上查看
打开http://10.1.221.223:8080,查看storm监控UI
在这里我们可以看到当前有1条任务,并且运行在storm2的supervisor上。
- 查看worker日志
登录storm2主机,进入logs目录 - 我们可以看到,这里有个worke.log文件,这个文件就是6700端口的worker的工作日志。查看该日志
tail -f worker.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号;