CentOS7下storm1.0.2集群搭建

CentOS7搭建storm1.0.2完全分布式

这里搭建的是3个节点的完全分布式,即1个nimbus,2个supervisor,分别如下:

CentOS-master   nimbus      192.168.11.128

CentOS-node1   supervisor    192.168.11.131

CentOS-node2   supervisor    192.168..11.132

 

1.三个虚拟机的创建步骤这里就不再详细讲解,具体参照hadoop2.7.3完全分布式的搭建,这里直接用那3台虚拟机,包括主机名,hosts文件,ssh配置,这里就不再重复做,首先打开master主机

CentOS7下storm1.0.2集群搭建

2.在这之前,还是要安装zookeeper、zeroMq、jzmq和python,具体请参照之前的文档

3.输入 mkdir /usr/local/storm建立storm目录

CentOS7下storm1.0.2集群搭建

4.将下载好的tar包放到该目录

CentOS7下storm1.0.2集群搭建

5.进入该目录,输入解压命令,解压tar包

CentOS7下storm1.0.2集群搭建

6.进入storm的conf目录,输入 vi storm.yaml 修改配置文件

CentOS7下storm1.0.2集群搭建

7.在文件末尾加入以下内容,标红部分要根据自己实际情况调整,标蓝部分不要跟其他端口冲突就行,保存并退出。。。。。。。。storm.zookeeper.servers表示zookeeper服务的IP,storm.zookeeper.port表示zookeeper服务的端口号,nimbus.host表示nimbus节点对应的主机IP,supervisor.slots.ports表示supervisor节点上能够运行的端口列表,每个端口运行一个Worker,通过这个配置可以调整机器上的Worker数量

storm.zookeeper.servers:

  - "master"

  - "node1"

  - "node2"

storm.zookeeper.port: 2181

#nimbus.host: "master"

nimbus.seeds: ["master","node1"]

supervisor.slots.ports:

  - 6700

  - 6701

  - 6702

  - 6703

storm.local.dir: "/usr/local/storm"

CentOS7下storm1.0.2集群搭建

8.在每个node节点上输入 mkdir /usr/local/storm 建目录

CentOS7下storm1.0.2集群搭建

CentOS7下storm1.0.2集群搭建

9.在master主机上,任意目录输入 scp -r /usr/local/storm/apache-storm-1.0.2/ [email protected]:/usr/local/storm/apache-storm-1.0.2/

CentOS7下storm1.0.2集群搭建

10.在master主机上,任意目录输入 scp -r /usr/local/storm/apache-storm-1.0.2/ [email protected]:/usr/local/storm/apache-storm-1.0.2/

CentOS7下storm1.0.2集群搭建

11.要保证zookeeper集群处于开启状态,再做这步,在master主机上,进入storm的bin目录,输入 ./storm nimbus >/dev/null 2>&1 & 启动并在后台运行主节点

CentOS7下storm1.0.2集群搭建

12.在master主机上,进入storm的bin目录,输入 ./storm ui >/dev/null 2>&1 & 启动并在后台运行ui节点

CentOS7下storm1.0.2集群搭建

13.在node1主机上,进入storm的bin目录,输入 ./storm supervisor >/dev/null 2>&1 & 启动并在后台运行supervisor节点

CentOS7下storm1.0.2集群搭建

14.在node2主机上,进入storm的bin目录,输入 ./storm supervisor >/dev/null 2>&1 & 启动并在后台运行supervisor节点

 

15.此时可以通过浏览器访问master的8080端口,查看storm运行情况

CentOS7下storm1.0.2集群搭建

16.在master主机上,

进入storm的bin目录,输入 ./storm jar /usr/local/storm/apache-storm-1.0.2/examples/storm-starter/storm-starter-topologies-1.0.2.jar storm.starter.StatefulTopology StatefulTopology 运行storm的Topology例子程序, ./storm jar allmycode.jar org.me.MyTopology arg1 arg2 arg3 启动Storm Topology,Topology启动后永远会运行,这是它与MapReduce的区别,MapReduce最终总会结束。。。其中,storm-starter-topologies-1.0.2.jar是包含Topology实现代码的jar包,storm.starter.StatefulTopology方法是Topology的入口,StatefulTopology为storm.starter.StatefulTopology执行时需要传入的参数

CentOS7下storm1.0.2集群搭建

17.测试成功

CentOS7下storm1.0.2集群搭建

18.通过浏览器访问 IP:8080 查看storm运行情况,可以看到刚运行完的例子程序

CentOS7下storm1.0.2集群搭建