zoukankan      html  css  js  c++  java
  • Storm简述及集群安装

         Storm 集群类似于一个 Hadoop 集群。然而你在 Hadoop 的执行“MapReduce job”,

    在storm 上你执行 “topologies (不好翻译)”。“job”和“topologies ”本身有非常

    大的不同,一个关键的差别是,MapReduce 的工作终于完毕,而 topologies 处理消息

    永远保持(或直到你杀了它) 。

    Strom 集群有主要有两类节点:主节点和工作节点。 

    主节点上执行一个叫做“Nimbus ”的守护进程。也就是类似 Hadoop 的“JobTracker”。

     Nimbus 负责在集群分发的代码,将任务分配给其它机器。和故障监測。

    Storm 安装部署

    2.1 搭建 Storm  集群的主要步骤
    1. 搭建一个 Zookeeper 集群
    2. 在 Nimbus 和全部工作机器(Supervisor)上安装例如以下软件
        Python-2.6.6
        JAVA 7
        ZeroMQ -2.1.7
        JZMQ
    1. 配置 storm.yaml

    2. 使用 Storm 脚本启动 Nimbus,Supervisor 及 UI


    2.2  布置 ZK  集群
    安装 ZK :

    http://labs.mop.com/apache-mirror/zookeeper/zookeeper-3.3.5/zookeeper-3.3.5.tar.gz

    tar -zxvf zookeeper-3.3.5.tar.gz
    cp -R zookeeper-3.3.5 /usr/local/
    ln -s /usr/local/zookeeper-3.3.5/ /usr/local/zookeeper
    vim /etc/profile (设置 ZOOKEEPER_HOME 和 ZOOKEEPER_HOME/bin)
    export ZOOKEEPER_HOME="/usr/local/zookeeper"
    export PATH=$PATH:$ZOOKEEPER_HOME/bin

    cp /usr/local/zookeeper/conf/zoo_sample.cfg  /usr/local/zookeeper/conf/zoo.cfg 

     ( 用zoo_sample.cfg 制作$ZOOKEEPER_HOME/conf/zoo.cfg)

    mkdir /tmp/zookeeper
    mkdir /var/log/zookeeper

    zookeeper 的单机安装已经完毕了。


    配置 ZK  集群:
    (1)配置 Zookeeper 路径下的 conf/zoo.cfg
    dataDir=/tmp/zookeeper
    #即之前创建的目录,能够自定
    clientPort=2181
    server.1=XXX.XXX.XXX.XXX:3887:4887
    server.2=XXX.XXX.XXX.XXX:3887:4887
    server.3=XXX.XXX.XXX.XXX:3887:4887
    (2)在相应 IP 的节点上的/tmp/zookeeper 文件夹中。创建 myid 文件。该文件里仅仅包涵一个
    数字 。

    (3)进入 Zookeeper 的安装文件夹的 bin/文件夹,使用命令 zkServer.sh start 将 zookeeper 

    守护进程启动。

    2.3  安装相关软件
    2.3.1  安装 Python-2.6.6  或以上版本号
    wget http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tgz
    tar zxvf Python-2.6.6.tgz.
    cd Python-2.6.6 ./configure
    make
    make install
    vi /etc/ld.so.conf
    追加/usr/local/lib/

    sudo ldconfig


    2.3.2  安装 zeromq
    wget http://download.zeromq.org/zeromq-2.1.7.tar.gz
    tar zxf zeromq-2.1.7.tar.gz
    cd zeromq-2.1.7
    ./configure
    make
    make install
    sudo ldconfig
    2.3.3  安装 jzmq
    git clone git://github.com/nathanmarz/jzmq.git
    cd jzmq
    ./autogen.sh
    黄崇远文档整理系列
    11
    ./configure
    make

    make install


    2.3.4  安装 storm
    wget http://cloud.github.com/downloads/nathanmarz/storm/storm-0.8.1.zip
    unzip storm-0.8.1.zip
    mv storm-0.8.1 /usr/local/
    vim ~/.bashrc #配置环境变量
    export STORM_HOME=/usr/local/storm-0.8.1
    export PATH=$PATH:$STORM_HOME/bin
    mkdir /tmp/storm #自己定义文件夹。配置文件里须要指明


    2.4  配置 Storm.yaml

    #配置 storm 集群使用的 zookeeper 集群的地址
    storm.zookeeper.server:
    -  “XXX.XXX.XXX.XXX”
    -  “XXX.XXX.XXX.XXX”
    -  “XXX.XXX.XXX.XXX”
    #配置 storm 信息存储文件夹
    Storm.local.dir: “/tmp/storm”

    #配置 java.library.path 这是 storm 所依赖的本地依赖(ZeroMQ 和 JZMQ)的载入地址, 

    默认的是:/usr/local/lib:/opt/local/lib:/usr/lib, 大多情况下是对的,所以你应该

    不用更改这个配置,除非你系统的库路径给默认配置不一样。

    #配置工作机器的工作端口。 supervisor.slots.ports 对于每一台工作机器,这个配置

    指定在这台工作机器上执行多少工作进程, 每一个进程使用一个独立port来接收消息,这

    个配置同一时候也指定使用哪些port。假设你在这里定义 5 个port,storm 会在这个机器上

    最多分配 5 个工作进程。

    假设分配 3 个port。那么最多分配 3 个进程。设置配置 4 个 

    worker 执行在port

    6700。 6701, 6702, 和 6703。比如:supervisor.slots.ports :
    -  6700
    -  6701
    -  6702
    -  6703
    2.5  启动 Storm  集群
    (1)监控 Nimbus 在 Nimbus 机器上执行 bin/storm nimbus

    (2)Supervisor 在每台工作机器上执行 bin/storm supervisor, supervisor 负责

    启动和终止工作机器上的工作进程

    (3)UI storm UI 是一个能够查看 storm 执行状态的的一个站点,通过 bin/storm ui

     执行。訪问地址: http://{nimbus.host}:8080/

  • 相关阅读:
    SQL Server死锁总结
    dao层知识点总结
    减少数据库资源开销
    java string(2)
    java读写锁实现数据同步访问
    并发集合(转)
    JDBC在Java Web中的应用——分页查询
    jdbc分页
    jdbc如何锁定某一条数据或者表,不让别人操作?
    数据库锁机制
  • 原文地址:https://www.cnblogs.com/yxysuanfa/p/7352405.html
Copyright © 2011-2022 走看看