Skip to content

Storm实战—安装部署 #22

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
johnnian opened this issue Jul 26, 2017 · 2 comments
Open

Storm实战—安装部署 #22

johnnian opened this issue Jul 26, 2017 · 2 comments

Comments

@johnnian
Copy link
Owner

johnnian commented Jul 26, 2017

Storm版本:1.1.0

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

storm_cluster

一、相关依赖

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

注意,如果是在MacOS系统下,则还需要安装 ZeroMQ,否则启动Storm UI的时候,会报错:
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中显示的却是:

qq20170803-103823 2x

解决方法:

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

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

附录:参考

@johnnian johnnian changed the title Storm实战—安装部署与使用 Storm实战—安装部署 Jul 27, 2017
@johnnian johnnian changed the title Storm实战—安装部署 Storm实战—安装部署(单机模拟) Aug 3, 2017
@johnnian johnnian changed the title Storm实战—安装部署(单机模拟) Storm实战—安装部署 Aug 3, 2017
@zmwxiaoming
Copy link

请问storm9.4支持nimbus的HA么

@johnnian
Copy link
Owner Author

@zmwxiaoming 至少从Storm 官网文档上来看,要到 0.10.1版本才支持nimbus的HA.http://storm.apache.org/2015/06/15/storm0100-beta-released.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants