• Ubuntu下Storm安装(单机,分布式)


    1. Ubuntu下Storm单机版安装

      安装Storm还需要提前安装Python,Zookeeper,ZeroMQ,jzmq,然后才是Storm的安装和配置:

      1.1 安装Python

      一般Linux系统都会自带Python,如果没有可以按照以下步骤安装:

      wget http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz

      tar zxf Python-2.7.2.tgz

      cd Python-2.7.2

      ./configure

      make

      make install

      在/etc/ld.so.conf后追加/usr/local/lib/

      sudo ldconfig

      1.2 安装Zookeeper

      从人人的Apache镜像处下载Zookeeper

      wget http://labs.renren.com/apache-mirror/zookeeper/stable/zookeeper-3.4.4.tar.gz

      tar zxf zookeeper-3.4.4.tar.gz

      在/etc/profile或者~/.bashrc追加:

      export ZOOKEEPER_HOME=path/to/zookeeper.3.4.4

      export PATH=$PATH:$ZOOKEEPER/bin

      1.3 安装ZeroMQ

      wget http://download.zeromq.org/zeromq-2.1.7.tar.gz

      ./configure

      //在configure时可能会报缺包,安装即可:sudo apt-get install g++ uuid-dev

      make

      sudo make install

      sudo ldconfig

      1.4 安装jzmq

      git clone git://github.com/nathanmarz/jzmq.git

      //如果没有git,安装即可:sudo apt-get install git

       ./autogen.sh

      //可能会报缺包,安装即可: sudo apt-get install libtool auto-make

      ./configure

      //可能需要设置JAVA_HOME,export JAVA_HOME=path/to/java

      make

      sudo make install

      1.5 安装配置Storm

      wget https://github.com/nathanmarz/storm/downloads/storm-0.7.1.zip

      unzip storm-0.7.1.zip

      //没有unzip工具的话下载:sudo apt-get install unzip

      在/etc/profile追加

      export STORM_HOME=/path/to/Storm

      export PATH=$PATH:$STORM_HOME/bin

      1.6 测试

      Storm安装后可以进行简单的测试,测试用到的工程可以从github得到:

      git clone git://github.com/nathanmarz/storm-starter

      需要将这个工程编译成一个jar包,编译过程见[2],我也有编译好的jar包,请致信kemaswill@163.com索取。

      测试:storm jar StormStarter.jar storm.starter.ExclamationTopology

      2 分布式Storm安装

      Storm集群包含一个中心节点Nimbus,多个从节点Supervisor。

      2.1 Zookeeper集群搭建

      首先我们需要搭建一个Zookeeper集群,搭建过程见[3]。

      2.2 安装依赖软件及Storm  

      我们在Storm的每个节点上安装Python,ZeroMQ,jzmq,Storm。

      2.3 配置Storm集群

      配置每个节点的Storm(根据前人[1]经验,每行要以空格开始,冒号后要有空格!):

      配置conf/storm.yaml文件:

      nimbus.host: "nimbus"

      storm.local.dir: "path/to/local/dir"

      storm.zookeeper.servers:
       - "zookeeper1"
       - "zookeeper2"
       - "zookeeper3"

       storm.zookeeper.port: 2181

      其中nimbus.host为Nimbus节点的主机名或IP地址。

      storm.local.dir为存储相关信息比如jar,topology等的目录。

      storm.zookeeper.servers为zookeeper集群的主机名或IP地址。

      storm.zookeeper.port为Zookeeper服务的端口号,要和你的Zookeeper服务的端口号一致(2181是默认的)。

      以上配置需要在每个节点,包括Nimbus和Supervisor上配置,且前三项是必须的,第二项如果不设置会报Connection Refused错误。

      在Nimbus节点上的~/.storm/storm.yaml配置(没有该文件的话创建之):

      nimbus.host: "nimbus"

      到这里Storm集群就配置完毕了。

      2.4 启动Storm集群

      在Nimbus节点上启动Nimbus服务:

      bin/storm nimbus &

      加&是为了在后台运行,否则当前的终端就不能再输入命令了

      在Nimbus节点上启动UI,这样就可以通过浏览器在http://nimbus-host:8080上观察整个Storm集群以及Topology的运行情况

      bin/storm ui &

      在Supervisor节点上启动Supervisor:

      bin/storm supervisor &

       这样整个Storm集群便启动了。

      2.5 Storm集群测试

      Storm集群的测试依然可以使用我们之前用过的StormStarter.jar,在Nimbus节点上执行:

      storm jar StormStarter.jar storm.starter.ExclamationTopology exclamation

      注意,与单机版Storm不同的是,我们在主类ExclamationTopology后面加了一个字符串 exclamation,该字符串是任意的,用来在集群中标示这个Topology,如果不填加这个字符串则该Topology会在单机环境下运行。

      参考文献:

      [1] Twitter Storm安装实战 主要参考该博文,但是其中的一些网址可能会找不到,在本文中更新。

      [2] 编译StormStarter 该博文的二 2)部分有详细介绍

      [3] Zookeeper集群安装配置

      

  • 相关阅读:
    java 28
    java 28
    java 27
    java 27
    java 27
    java 27
    java 27
    java 27
    java 27
    java 27
  • 原文地址:https://www.cnblogs.com/kemaswill/p/2737833.html
Copyright © 2020-2023  润新知