zoukankan      html  css  js  c++  java
  • Storm(二)CentOS7.5搭建Storm1.2.2集群

    一.Storm的下载

    官网下载地址:http://storm.apache.org/downloads.html

    这里下载最新的版本storm1.2.2,进入之后选择一个镜像下载

    二.Storm伪分布式安装

    1.环境准备

    JDK 1.7+             验证: java -version
    Python 2.6.6+      验证:python -V

    2.解压安装包

    [admin@node21 software]$ tar zxvf apache-storm-1.2.2.tar.gz -C /opt/module/

    3.创建logs文件目录

    [admin@node21 software]$ cd /opt/module/apache-storm-1.2.2
    [admin@node21 apache-storm-1.2.2]$ mkdir logs

    4.启动storm

    • 查看帮助
    [admin@node21 apache-storm-1.2.2]$ ./bin/storm help

    帮助如下

    [admin@node21 storm-1.2.2]$ ./bin/storm help
    Commands:
        activate
        blobstore
        classpath
        deactivate
        dev-zookeeper
        drpc
        get-errors
        heartbeats
        help
        jar
        kill
        kill_workers
        list
        localconfvalue
        logviewer
        monitor
        nimbus
        node-health-check
        pacemaker
        rebalance
        remoteconfvalue
        repl
        set_log_level
        shell
        sql
        supervisor
        ui
        upload-credentials
        version
    
    Help: 
        help 
        help <command>
    
    Documentation for the storm client can be found at http://storm.apache.org/documentation/Command-line-client.html
    
    Configs can be overridden using one or more -c flags, e.g. "storm list -c nimbus.host=nimbus.mycompany.com"
    View Code
    • 启动Zookeeper
    [admin@node21 apache-storm-1.2.2]$ ./bin/storm dev-zookeeper >> ./logs/zk.out 2>&1 &
    • 启动Nimbus
    [admin@node21 apache-storm-1.2.2]$ ./bin/storm nimbus >> ./logs/nimbus.out 2>&1 &
    • 启动Storm UI
    [admin@node21 apache-storm-1.2.2]$ ./bin/storm ui >> ./logs/ui.out 2>&1 &
    • 启动Supervisor
    [admin@node21 apache-storm-1.2.2]$ ./bin/storm supervisor >> ./logs/supervisor.out 2>&1 &
    • 启动Logviewer
    [admin@node21 apache-storm-1.2.2]$ ./bin/storm logviewer ./logs/logviewer.out 2>&1 &

    5.查看进程

     

    6.WebUI查看

    WebUI查看地址:http://node21:8080/

    三.Storm分布式集群安装

    官网集群配置文档:http://storm.apache.org/releases/1.2.2/Setting-up-a-Storm-cluster.html

    1.集群部署

    IP 节点名称 Jdk,Python Zookeeper Nimbus Supervisor
    192.168.100.21 node21 Jdk,Python Zookeeper Nimbus  
    192.168.100.22 node22 Jdk,Python Zookeeper   Supervisor
    192.168.100.23 node23 Jdk,Python Zookeeper   Supervisor

    Zookeeper集群安装参考: CentOS7.5搭建Zookeeper3.4.12集群与命令行操作

    2.安装环境解压安装包

    [admin@node21 software]$ tar zxvf apache-storm-1.2.2.tar.gz -C /opt/module/
    [admin@node21 software]$ cd /opt/module/
    [admin@node21 module]$ mv apache-storm-1.2.2/ storm-1.2.2
    [admin@node21 module]$ cd storm-1.2.2
    [admin@node21 storm-1.2.2]$ mkdir logs

    3.修改yaml配置文件

    [admin@node21 storm-1.2.2]$ vi conf/storm.yaml 

    1)storm.zookeeper.servers:这是Storm集群的Zookeeper集群中的主机列表。

    2storm.local.dir:Nimbus和Supervisor守护进程需要本地磁盘上的目录来存储少量状态(如jar,confs和类似的东西)。您应该在每台计算机上创建该目录,为其提供适当的权限,然后使用此配置填写目录位置。

    3)nimbus.seeds:工作节点需要知道哪些机器是主机的候选者才能下载拓扑罐和confs。

    4)supervisor.slots.ports:对于每个工作者计算机,您可以使用此配置配置在该计算机上运行的工作程序数。每个工作人员使用单个端口接收消息,此设置定义哪些端口可以使用。如果您在此处定义了五个端口,那么Storm将分配最多五个工作人员在此计算机上运行。如果定义三个端口,Storm最多只能运行三个端口。默认情况下,此设置配置为在端口6700,6701,6702和6703上运行4个工作程序。

    4.分发Storm到其他节点

    [admin@node21 module]$ scp -r storm-1.2.2/ node22:`pwd`
    [admin@node21 module]$ scp -r storm-1.2.2/ node23:`pwd`

    5.配置环境变量

    [admin@node21 module]$ sudo vi /etc/profile
    export STORM_HOME=/opt/module/storm-1.2.2
    export PATH=$PATH:$STORM_HOME/bin
    [admin@node21 module]$ source /etc/profile

    6.启动集群

    • 启动zookeeper集群,各个节点执行
    $ zkServer.sh start
    • 启动storm集群

    node21上启动Nimbus,启动webUI

    [admin@node21 storm-1.2.2]$ ./bin/storm nimbus >> ./logs/nimbus.out 2>&1 &
    [admin@node21 storm-1.2.2]$ ./bin/storm ui >> ./logs/ui.out 2>&1 &

    node22和node23启动supervisor,按照配置,每启动一个supervisor就有了4个slots

    [admin@node22 storm-1.2.2]$ ./bin/storm supervisor >> ./logs/supervisor.out 2>&1 &
    [admin@node23 storm-1.2.2]$ ./bin/storm supervisor >> ./logs/supervisor.out 2>&1 &

    7.查看进程

    8.查看WebUI

    WebUI查看地址:http://node21:8080/

    9.编写storm服务脚本

    node21上   start-stormCluster.sh

    #!/bin/bash
    echo  "********************     正在启动nimbus服务     *******************"
    ssh   admin@node21 '/opt/module/storm-1.2.2/bin/storm nimbus >> /opt/module/storm-1.2.2/logs/nimbus.out 2>&1 &'
    echo  "*********************    正在启动webUi服务   ******************"
    ssh   admin@node21 '/opt/module/storm-1.2.2/bin/storm ui >> /opt/module/storm-1.2.2/logs/ui.out 2>&1 &'
    echo  "********************     正在启动supervisor服务     *******************"
    ssh   admin@node22 '/opt/module/storm-1.2.2/bin/storm supervisor >> /opt/module/storm-1.2.2/logs/supervisor.out 2>&1 &'
    ssh   admin@node23 '/opt/module/storm-1.2.2/bin/storm supervisor >> /opt/module/storm-1.2.2/logs/supervisor.out 2>&1 &'
    echo  "******************      服务启动成功      *******************"*

    给脚本赋权限 :chmod +x 脚本名称

    四.故障排除

    参考文档:http://storm.apache.org/releases/1.2.2/Troubleshooting.html

  • 相关阅读:
    .Net Cache及(HttpRuntime.Cache与HttpContext.Current.Cache的区别)
    Autofac 属性注入的方式
    AutoFac创建实例的方法解析
    MongoDB 增删改查 CRUD 操作
    MongoDB 3.4版本在windows环境下的安装与配置
    Stack Overflow 2017 开发者调查报告
    使用SVN对GitHub进行版本管理
    MongoDB.Driver for C#
    Dapper.Net 轻量级的ORM 框架2
    Selenium webdriver 安装(一)
  • 原文地址:https://www.cnblogs.com/frankdeng/p/9572014.html
Copyright © 2011-2022 走看看