搭建5节点hadoop+zookeeper+hbase+spark+kafka+storm(6):Storm

本篇介绍Storm集群安装。
版本:java 1.8,Hadoop 2.7.3,HBase 1.2.5,Zookeeper 3.4.10,Spark 2.1.1,Scala 2.12.2,Kafka 0.10.2.1,Storm 1.1.0。
以下操作都是以root用户进行,如需用户组和权限设定需自行配置。


服务器信息及节点分配

服务器信息:

No Hostname 内网IP 外网IP OS
1 node01 192.168.5.11 192.168.205.50 Centos7
2 node02 192.168.5.12 192.168.205.62 Centos7
3 node03 192.168.5.13 192.168.205.63 Centos7
4 node04 192.168.5.14 192.168.205.70 Centos7
5 node05 192.168.5.15 192.168.205.102 Centos7

节点分配:

节点 node01 node02 node03 node04 node05
namenode YES YES NO NO NO
datanode NO NO YES YES YES
journalnode YES YES YES YES YES
zookeeper YES YES YES YES YES
hbase 主Master 备份Master RegionServer RegionServer RegionServer
spark YES YES YES YES YES
kafka YES YES YES YES YES
storm YES YES YES YES YES

安装Python

storm 1.1.0要求Java 7和Python 2.6.6,Python安装过程不再描述。本环境Python版本为2.7.5。


安装Storm

下载安装包

1
wget http://mirror.bit.edu.cn/apache/storm/apache-storm-1.1.0/apache-storm-1.1.0.tar.gz

创建模板配置文件

需要修改的配置文件为storm-env.sh,storm.yaml。

storm-env.sh

添加以下环境变量:

1
2
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/jre
export STORM_CONF_DIR=/usr/storm/conf

storm.yaml

因为spark占用8080/8081端口,将storm的ui.port设为8082:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
storm.zookeeper.servers:
- "node01"
- "node02"
- "node03"
- "node04"
- "node05"

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

nimbus.seeds: ["node01", "node02"]

supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703

ui.port: 8082

storm.health.check.dir: "/usr/storm/healthchecks"

storm.health.check.timeout.ms: 5000

安装部署

写一个简易部署脚本:

storm.sh
1
2
3
4
5
6
7
8
9
10
11
#/bin/bash

tar -xvf ./apache-storm-1.1.0.tar.gz
mv ./apache-storm-1.1.0 /usr/storm
mkdir -p /usr/storm/wkdir /usr/storm/healthchecks

cp -rf ./storm-env.sh /usr/storm/conf/storm-env.sh
cp -rf ./storm.yaml /usr/storm/conf/storm.yaml

echo "export STORM_HOME=/usr/storm" >> /root/.bash_profile
echo "export PATH=\$STORM_HOME/bin:\$PATH" >> /root/.bash_profile

修改权限并执行,执行时确保apache-storm-1.1.0.tar.gz,storm-env.sh,storm.yaml,storm.sh在同一目录下:
1
2
3
chmod +x ./stomr.sh
./storm.sh
source /root/.bash_profile

部署所有节点

使用sftp将apache-storm-1.1.0.tar.gz,storm-env.sh,storm.yaml,storm.sh传到其他所有节点上并按照以上步骤进行部署。


Storm启动

node01和node02作为nimbus节点。

在node01和node02执行以下命令

1
2
3
4
storm nimbus &
storm supervisor &
storm ui &
storm logviewer &

在node03,node04和node05执行以下命令

1
2
storm supervisor &
storm logviewer &

测试验证

通过浏览器查看Storm信息http://192.168.205.50:8082/:


参照资料:
Setting up a Storm Cluster
storm1.0集群部署(含HA)
storm1.0.2版本集群搭建完整步骤
Storm上的Nimbus、Supervisor以及Worker之间的关系
storm1.1.0部署
Storm学习笔记-集群环境安装部署