Storm集群环境搭建

安装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查看集群的详细信息。如下图:
Storm集群环境搭建
(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集群搭建完成.

上一篇:Storm本地启动拓扑报错:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/storm/


下一篇:Storm