56.storm 之 hello world (集群模式)
回顾
在上一小节,我们在PWTopology1 这一个java类中注解掉了集群模式,使用本地模式大概了解一下storm的工作流程。这一节我们注解掉本地模式相关的代码,放开集群模式相关代码,并且将项目打包,在实际环境中运行一下。
集群模式部署步骤
项目打包
pom.xml右键 --> run as --> maven clean --> maven install
将大好的jar包上传到 nimbus 的 /usr/local下
提交拓扑
storm jar storm01.jar bhz.topology.PWTopology1
运行上面的命令后结果是这样的,终点看一下画红框的地方:
查看拓扑是否运行
在nimbus 运行 :storm list
结果是这样的:
也可以到管控台看到上面的信息
再查看一下supervisor的状态:jps可以看到worker进程
也可以看一下logs目录下的worker-****.log文件:
这些信息就是PrintBolt类中打印出的信息(完整代码参考上一节):
不过还遇到一个未能解决的问题,就是其中一个supervisor报错:
重启虚拟机都没有用。。而且这个Supervisor并没有工作。暂时先用一个Supervisor吧,以后再考虑怎么解决这个问题
过了一天,上面的问题的解决了,根本问题不是上面的那个错误,而是:StormClientErrorHandler [INFO] Connection failed Netty-Client-rocketmq-nameserver2:6703
解决方案是:假如我们的集群是3台机器,则在每台机器上的/etc/hosts中 将所有机器的映射配置即可,具体实例看下面的配置,记得要在每台机器上都配置。
具体可以看一下 http://blog.csdn.net/mic403/article/details/47147785