安装Storm之前,需要先安装好Java与ZooKeeper,Java与ZooKeeper的安装此处不做过多讲解,Storm的安装步骤如下:
1.下载Storm
要在您的计算机上安装Storm框架,请访问以下链接并下载最新版本的Storm http://storm.apache.org/downloads.html,此处使用的Storm版本为1.1.0。
2.上传解压Storm
将下载的apache-storm-1.1.0.tar.gz上传到centos01节点的/opt/softwares目录,然后将其解压至目录/opt/modules,命令如下:
[hadoop@centos01 softwares]$ tar -zxvf apache-storm-1.1.0.tar.gz -C /opt/modules/
然后进入/opt/modules目录,将apache-storm-1.1.0文件夹重命名为storm-1.1.0:
[hadoop@centos01 modules]$ mv apache-storm-1.1.0/ storm-1.1.0
3.配置Storm
(1)修改环境变量文件/etc/profile,加入以下内容:
export STORM_HOME=/opt/modules/storm-1.1.0
export PATH=$PATH:$STORM_HOME/bin
然后执行source /etc/profile命令刷新环境变量文件。
(2)修改$STORM_HOME/conf下的文件storm-env.sh,加入以下内容,关联JDK与Storm配置文件的目录:
export JAVA_HOME=/opt/modules/jdk1.8.0_101
export STORM_CONF_DIR="/opt/modules/storm-1.1.0/conf"
(3)修改$STORM_HOME/conf下的文件storm.yaml,添加以下内容(注意“-”后的空格不能省略):
storm.zookeeper.servers:
- "centos01"
- "centos02"
- "centos03"
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
storm.zookeeper.port: 2181
storm.local.dir: "/opt/modules/storm-1.1.0/data"
nimbus.seeds: ["centos01"]
上述配置信息参数解析如下:
storm.zookeeper.servers:指定ZooKeeper节点的IP或主机名。
supervisor.slots.ports:对于每个Supervisor工作节点,需要配置该工作节点可以运行的worker数量。每个worker占用一个单独的端口用于接收消息,该配置选项即用于定义哪些端口是可被worker使用的。默认情况下,每个节点上可运行4个workers,分别在6700、6701、6702和6703端口。
storm.zookeeper.port:ZooKeeper节点的访问端口,如果不是默认值2181,则需要设置此属性。
storm.local.dir:Nimbus和Supervisor守护进程需要本地磁盘上的一个目录来存储少量的状态(比如jar,confs等等),因此需要提前在每个节点上创建该目录并给予适当的权限。
nimbus.seeds:Nimbus的候选节点,这里只配置一个。
4.拷贝Storm到集群其它节点
将配置好的Storm安装文件拷贝到集群其它节点(centos02和centos03),命令如下:
[hadoop@centos01 modules]$ scp -r storm-1.1.0/ centos02:/opt/modules/
[hadoop@centos01 modules]$ scp -r storm-1.1.0/ centos03:/opt/modules/
5.启动Storm
(1)在centos01上执行以下命令,启动Nimbus、UI服务,且在后台运行:
storm nimbus >/dev/null 2>&1 &
storm ui >/dev/null 2>&1 &
启动成功后使用jps命令查看已经启动的Java进程,完整命令及输出如下:
[hadoop@centos01 bin]$ storm nimbus >/dev/null 2>&1 &
[1] 2992
[hadoop@centos01 bin]$ storm ui >/dev/null 2>&1 &
[2] 3129
[hadoop@centos01 bin]$ jps
2992 nimbus
2936 QuorumPeerMain
3129 core
3227 Jps
上述输出结果中,名为core的进程为storm的ui进程。ui进程启动后,可以在浏览器中访问地址http://centos01:8080查看集群的详细信息。如下图:
(2)在centos02节点上进入$STORM_HOME/bin目录,执行以下命令,启动Supervisor服务,且在后台运行:
./storm supervisor >/dev/null 2>&1 &
执行成功后,使用jps命令查看启动的Java进程:
[hadoop@centos02 bin]$ ./storm supervisor >/dev/null 2>&1 &
[1] 3518
[hadoop@centos02 bin]$ jps
3554 config_value
2935 QuorumPeerMain
3545 Jps
[hadoop@centos02 bin]$ jps
3568 Jps
2935 QuorumPeerMain
[hadoop@centos02 bin]$ jps
3603 Jps
2935 QuorumPeerMain
3593 config_value
[hadoop@centos02 bin]$ jps
3633 Jps
2935 QuorumPeerMain
3518 Supervisor
上述信息中,多次执行jps,直到出现了Supervisor进程,说明启动成功。前几次执行jps命令没有出现Supervisor进程是因为进程还没有启动完毕。
(3)同上,在centos03节点上进入$STORM_HOME/bin目录,执行以下命令,启动Supervisor服务,且在后台运行:
./storm supervisor >/dev/null 2>&1 &
至此,Storm集群搭建完成.