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主机
2.在这之前,还是要安装zookeeper、zeroMq、jzmq和python,具体请参照之前的文档
3.输入 mkdir /usr/local/storm建立storm目录
4.将下载好的tar包放到该目录
5.进入该目录,输入解压命令,解压tar包
6.进入storm的conf目录,输入 vi storm.yaml 修改配置文件
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" |
8.在每个node节点上输入 mkdir /usr/local/storm 建目录
9.在master主机上,任意目录输入 scp -r /usr/local/storm/apache-storm-1.0.2/ [email protected]:/usr/local/storm/apache-storm-1.0.2/
10.在master主机上,任意目录输入 scp -r /usr/local/storm/apache-storm-1.0.2/ [email protected]:/usr/local/storm/apache-storm-1.0.2/
11.要保证zookeeper集群处于开启状态,再做这步,在master主机上,进入storm的bin目录,输入 ./storm nimbus >/dev/null 2>&1 & 启动并在后台运行主节点
12.在master主机上,进入storm的bin目录,输入 ./storm ui >/dev/null 2>&1 & 启动并在后台运行ui节点
13.在node1主机上,进入storm的bin目录,输入 ./storm supervisor >/dev/null 2>&1 & 启动并在后台运行supervisor节点
14.在node2主机上,进入storm的bin目录,输入 ./storm supervisor >/dev/null 2>&1 & 启动并在后台运行supervisor节点
15.此时可以通过浏览器访问master的8080端口,查看storm运行情况
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执行时需要传入的参数
17.测试成功
18.通过浏览器访问 IP:8080 查看storm运行情况,可以看到刚运行完的例子程序