一、基本信息

1、官网 http://storm.apache.org/
记一次 Centos7.6 安装部署基于 zookeeper 3.6.2 集群的 Storm 2.2.0 集群_经验分享
2、下载地址 http://storm.apache.org/downloads.html

https://mirror.bit.edu.cn/apache/storm/apache-storm-2.2.0/apache-storm-2.2.0.tar.gz 
https://mirrors.bfsu.edu.cn/apache/storm/apache-storm-2.2.0/apache-storm-2.2.0.tar.gz 
https://mirrors.tuna.tsinghua.edu.cn/apache/storm/apache-storm-2.2.0/apache-storm-2.2.0.tar.gz 

3、集群搭建文档 http://storm.apache.org/releases/2.2.0/Setting-up-a-Storm-cluster.html
4、github https://github.com/apache/storm
5、w3cschool
https://www.w3cschool.cn/storm/
https://www.w3cschool.cn/apache_storm/

二、基础环境准备

服务器基本配置可参考
javascript:void(0)
javascript:void(0)
安装部署 Zookeeper 3.6.2 集群 javascript:void(0)

三、安装部署

1、文件下载
在 master 节点下载文件

[root@master ~]# wget -P /usr/bigdata/ https://mirror.bit.edu.cn/apache/storm/apache-storm-2.2.0/apache-storm-2.2.0.tar.gz

效果如下
记一次 Centos7.6 安装部署基于 zookeeper 3.6.2 集群的 Storm 2.2.0 集群_分布式_02
2、进入目录 /usr/bigdata/

[root@slave1 ~]# cd /usr/bigdata/

3、解压文件

[root@master bigdata]# tar zxf apache-storm-2.2.0.tar.gz 

4、查看文件目录
记一次 Centos7.6 安装部署基于 zookeeper 3.6.2 集群的 Storm 2.2.0 集群_经验分享_03
5、创建目录

[root@master ~]# mkdir /usr/bigdata/apache-storm-2.2.0/work

6、进入 storm 的配置文件目录

[root@master ~]# cd /usr/bigdata/apache-storm-2.2.0/conf

7、编辑文件 storm.yaml

[root@master conf]# vim storm.yaml

8、编辑内容

storm.zookeeper.servers:
- "slave1"
- "slave2"
- "slave3"

nimbus.seeds: ["master"]

storm.local.dir: "/usr/bigdata/apache-storm-2.2.0/work"

supervisor.slots.ports:
    - 6700
    - 6701
    - 6702
    - 6703
  
drpc.servers: ["master"]

9、编辑文件 storm-env.sh

[root@master conf]# vim storm-env.sh 

10、编辑内容

export JAVA_HOME="/usr/lib/jvm/java-1.8.0"
export STORM_CONF_DIR="/usr/bigdata/apache-storm-2.2.0/conf"

11、把配置好的 storm 目录及文件发送给指定的数据处理节点

[root@master ~]# scp -r /usr/bigdata/apache-storm-2.2.0 root@slave1:/usr/bigdata/
[root@master ~]# scp -r /usr/bigdata/apache-storm-2.2.0 root@slave2:/usr/bigdata/
[root@master ~]# scp -r /usr/bigdata/apache-storm-2.2.0 root@slave3:/usr/bigdata/

12、启动各个 zookeeper 节点上的 zkServer 服务

[root@slave1 ~]# /usr/bigdata/apache-zookeeper-3.6.2-bin/bin/zkServer.sh start
[root@slave2 ~]# /usr/bigdata/apache-zookeeper-3.6.2-bin/bin/zkServer.sh start
[root@slave3 ~]# /usr/bigdata/apache-zookeeper-3.6.2-bin/bin/zkServer.sh start

13、进入 Storm 的 bin 目录

[root@master ~]# cd /usr/bigdata/apache-storm-2.2.0/bin/

14、启动 nimbus

[root@master bin]# nohup ./storm nimbus > /dev/null 2>&1 &

15、启动 stormui

[root@master bin]# nohup ./storm ui > /dev/stormui 2>&1 &

16、在各个数据处理节点进入 bin 目录,启动 supervisor

[root@slave1 ~]# cd /usr/bigdata/apache-storm-2.2.0/bin
[root@slave1 bin]# nohup ./storm supervisor > /dev/null 2>&1 &

[root@slave2 ~]# cd /usr/bigdata/apache-storm-2.2.0/bin
[root@slave2 bin]# nohup ./storm supervisor > /dev/null 2>&1 &

[root@slave3 ~]# cd /usr/bigdata/apache-storm-2.2.0/bin
[root@slave3 bin]# nohup ./storm supervisor > /dev/null 2>&1 &

17、或在各个节点上直接启动 supervisor

[root@slave1 ~]# nohup /usr/bigdata/apache-storm-2.2.0/bin/storm supervisor > /dev/null 2>&1 &
[root@slave2 ~]# nohup /usr/bigdata/apache-storm-2.2.0/bin/storm supervisor > /dev/null 2>&1 &
[root@slave3 ~]# nohup /usr/bigdata/apache-storm-2.2.0/bin/storm supervisor > /dev/null 2>&1 &

18、查看启动结果
记一次 Centos7.6 安装部署基于 zookeeper 3.6.2 集群的 Storm 2.2.0 集群_大数据_04
19、查看 master 节点上的启动进程(我这个集群上有启动的 mysql 数据库服务和hadoop)
记一次 Centos7.6 安装部署基于 zookeeper 3.6.2 集群的 Storm 2.2.0 集群_分布式_05

四、浏览器查看 Storm Web UI

浏览器地址栏录入 192.168.11.21:8080 说明:192.168.11.21 是 master 节点的 IP
1、集群基本信息
记一次 Centos7.6 安装部署基于 zookeeper 3.6.2 集群的 Storm 2.2.0 集群_经验分享_06
2、各数据处理节点信息
记一次 Centos7.6 安装部署基于 zookeeper 3.6.2 集群的 Storm 2.2.0 集群_zookeeper_07
3、集群的各项配置信息
记一次 Centos7.6 安装部署基于 zookeeper 3.6.2 集群的 Storm 2.2.0 集群_storm_08
记一次 Centos7.6 安装部署基于 zookeeper 3.6.2 集群的 Storm 2.2.0 集群_storm_09
记一次 Centos7.6 安装部署基于 zookeeper 3.6.2 集群的 Storm 2.2.0 集群_经验分享_10

五、报错及解决方案

查看 Storm Web UI 失败
记一次 Centos7.6 安装部署基于 zookeeper 3.6.2 集群的 Storm 2.2.0 集群_storm_11
报错内容:
Could not find leader nimbus from seed hosts [slave1, slave2, slave3]. Did you specify a valid list of nimbus hosts for config nimbus.seeds?
记一次 Centos7.6 安装部署基于 zookeeper 3.6.2 集群的 Storm 2.2.0 集群_大数据_12
问题原因:
由于是重新部署的storm,原先旧的 storm 已在 zookeeper 中注册了信息,只要进入 zookeeper 客户端将 storm 删除:

[root@slave1 ~]# /usr/bigdata/apache-zookeeper-3.6.2-bin/bin/zkCli.shzkCli.sh
ls /
递归删除
deleteall /storm
重启 storm 集群即可。