Storm实战—安装部署

作者: Johnnian | 来源:发表于2017-08-08 09:16 被阅读804次

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

    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个数与实际不符的解决

    附录:参考

    相关文章

      网友评论

        本文标题:Storm实战—安装部署

        本文链接:https://www.haomeiwen.com/subject/jmozlxtx.html