STORM HA(高可用)集群搭建实战

Storm是Twitter开源的分布式实时大数据处理框架,被业界称为实时版Hadoop。Storm对于实时计算的意义类似于Hadoop对于批处理的意义。这里介绍的是Storm高可用集群的搭建方式。

实验环境:

  • Centos 7主机三台
主机名 IP地址
Master 10.30.59.130
Slave1 10.30.59.131
Slave2 10.30.59.132

软件要求:

软件名称 软件版本
JDK 8u77
Zookeeper 3.4.5
Hadoop 2.6.0
STORM 1.0.6
  • 软件约定:
    • 安装包在 /opt/soft
    • 安装目录在 /opt

先决条件:

  • 各个主机已完成 主机名-IP 映射

  • 各个主机已完成ssh免密登录

  • ZooKeeper已部署完毕并启动

  • Hadoop已部署完毕并启动

    • 可选单节点/伪分布式/全分布式/HA任意一种
    • 这里使用HA搭建

实验步骤:

一、解压组件

1
2
3
[root@master ~]# cd /opt 
[root@master opt]# tar -xzvf soft/apache-storm-1.0.6.tar.gz
[root@master opt]# mv apache-storm-1.0.6/ storm

二、填写配置文件

1
[root@master opt]# vi storm/conf/storm.yaml 
1
2
3
4
5
6
7
8
9
10
11
storm.zookeeper.servers
- "master"
- "slave1"
- "slave2"

nimbus.seeds: ["master", "slave1"]

ui.port: 8081

storm.local.dir: "/opt/storm/tmp"

  • 因为storm的webui默认端口8080与spark默认端口冲突,所以这里修改为8081

三、配置环境变量并令其立即生效

  • hadoop-etc.sh文件新增两条
1
2
3
4
5
[root@master opt]# vi /etc/profile.d/hadoop-etc.sh
export STORM_HOME=/opt/storm
export PATH=$PATH:$STORM_HOME/bin

[root@master opt]# source /etc/profile.d/hadoop-etc.sh

四、同步两台slave节点的配置并令其环境变量立即生效

1
2
3
4
[root@master opt]# scp -r storm slave1:/opt 
[root@master opt]# scp -r storm slave2:/opt
[root@master opt]# scp /etc/profile.d/hadoop-etc.sh slave1:/etc/profile.d
[root@master opt]# scp /etc/profile.d/hadoop-etc.sh slave2:/etc/profile.d
  • 在两台slave节点上令其环境变量立即生效
1
[root@slave1 ~]# source /etc/profile.d/hadoop-etc.sh
1
[root@slave2 ~]# source /etc/profile.d/hadoop-etc.sh

五、启动STORM集群

  • master:
1
2
3
4
[root@master opt]# storm nimbus & 
[root@master opt]# storm ui &
[root@master opt]# storm logviewer &
[root@master opt]# storm supervisor &
  • slave1
1
2
[root@slave1 ~]# storm nimbus & 
[root@slave1 ~]# storm supervisor &
  • slave2
1
[root@slave2 ~]# storm supervisor & 

实验验证

nimbus有两台主机,supervisors有三台主机