Storm实战—安装部署

本文同步于个人Github博客:https://github.com/johnnian/Blog/issues/22,欢迎留言。

Storm版本:1.1.0

在搭建Storm集群前,先看下下面的拓扑图,在1.1.0版本中,支持 Nimbus的HA模式,Nimbus、Supervisor,需要使用Zookeeper作为协同。

Storm实战—安装部署_第1张图片
storm_cluster

一、相关依赖

  • Zookeeper(可以使用 3.4.10 版本)
  • JDK7+
  • Python 2.6.6+

注意,如果是在MacOS系统下,则还需要安装 ZeroMQ,否则启动Storm UI的时候,会报错:


Storm实战—安装部署_第2张图片
pasted graphic

可以使用 HomeBrew快速安装:

➜  ~ brew install zeromq

二、安装包下载

进入下载页面下载, 或者直接点击这里

或者直接wget:

➜  ~ wget http://apache.claz.org/storm/apache-storm-1.1.0/apache-storm-1.1.0.tar.gz
➜  ~ tar -zxvf apache-storm-1.1.0.tar.gz

拷贝安装包到每个节点,目前各个节点的信息如下:

简称 IP 角色
A 172.18.0.30 Nimbus_1
B 172.18.0.33 Supervisor_1
C 172.18.0.34 Supervisor_1

注意:

  1. 在安装配置Storm集群之前,需要先启动Zookeeper(单点或者集群)。
  2. 默认的配置文件,可以参考Storm Github上的内容,点击这里前往查看

三、Nimbus安装配置

Nimbus可以配置多台,实现HA,这里暂时就配置一台

需要对外开放的端口:

  • 6627: Nimbus 默认端口
  • 3772: DRPC 默认端口
  • 8080: Storm UI Web端口

1、配置文件

建议: Nimbus、DRPC的端口直接用默认的,无需更改

➜  ~ vi apache-storm-1.1.0/conf/storm.yaml

#配置Zookeeper
storm.zookeeper.servers:
    - "172.18.0.21"
storm.zookeeper.port: 2181
storm.zookeeper.root: "/storm"

#配置数据存储路径
storm.local.dir: "/root/apache-storm-1.1.0/data"

#配置节点健康检测
storm.health.check.dir: "healthchecks"
storm.health.check.timeout.ms: 5000

#配置Nimbus节点,如果有多个,可以填写,用逗号隔开
nimbus.seeds: ["172.18.0.30"]

#配置Storm UI
ui.port: 8080

## 配置DRPC服务
drpc.servers:
    - "172.18.0.30"

2、启动程序

➜  ~ ./apache-storm-1.1.0/bin/storm nimbus &
➜  ~ ./apache-storm-1.1.0/bin/storm ui &
➜  ~ ./apache-storm-1.1.0/bin/storm drpc &

在浏览器访问:http://172.18.0.30:8888, 查看Storm UI主页

四、Supervisor安装配置

Supervisor安装的时候,只需要指定Nimbus地址,就可以自动加入Storm集群,非常容易扩容。

1、配置文件

➜  ~ vi apache-storm-1.1.0/conf/storm.yaml

#配置Zookeeper
storm.zookeeper.servers:
    - "172.18.0.21"
storm.zookeeper.port: 2181
storm.zookeeper.root: "/storm"

#配置数据存储路径
storm.local.dir: "/root/apache-storm-1.1.0/data"

#配置节点健康检测
storm.health.check.dir: "healthchecks"
storm.health.check.timeout.ms: 5000

#配置Nimbus节点,如果有多个,可以填写,用逗号隔开
nimbus.seeds: ["172.18.0.30"]

#配置supervisor: 开启几个端口插槽,就开启几个对应的worker进程
supervisor.slots.ports:
    - 6700
    - 6701
    - 6702
    - 6703

2、启动程序

➜  ~ ./apache-storm-1.1.0/bin/storm supervisor &

四、问题

1、Storm UI 中显示的Supervisor 的个数与实际的不符:

我搭建了两个 Supervisor 节点,启动没有报错,但是Storm UI中显示的却是:

Storm实战—安装部署_第3张图片
qq20170803-103823 2x

解决方法:

删除Supervisor中的 storm.local.dir 目录的数据,之前拷贝到各个节点的时候,把这个目录页拷贝过去了。如果 storm.local.dir的目录为空的话,每个Supervisor就会创建自己的ID

参考:storm ui显示supervisor个数与实际不符的解决

附录:参考

  • Setting up a Storm Cluster
  • Installing native dependencies
  • How to set up Apache Storm on mac using brew

你可能感兴趣的:(Storm实战—安装部署)