56.storm 之 hello world (集群模式)

Posted 司广孟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于56.storm 之 hello world (集群模式)的主要内容,如果未能解决你的问题,请参考以下文章

团体程序设计天梯赛-练习集L1-001 Hello World (5 分)

Docker 之 运行第一个程序

1.1编程基础之输入输出_01:Hello, World!

CAS 之 Hello World

从零開始学Swift之Hello World进化版

Python基础知识之:hello world,注释,变量,数据类型