Skip to main content

StandAlone Apache Storm Installation in Ubuntu 14.04 LTS

Deploying Apache Storm 


1) If Java 7 is not present, please install it.

2) Zookeeper Installation

Download zookeeper-3.4.6 from Apache site
      $ tar -xvf zookeeper-3.4.6.tar.gz
      $ cd zookeeper-3.4.6/
      $ cp conf/zoo_sample.cfg conf/zoo.cfg
      $ bin/zkServer.sh start

3) Storm Cluster Installation

Download the storm tarball from official Apache Mirror. 
Untar it.

      $ tar xzvf apache-storm-0.9.2-incubating.tar.gz

Move to new directory.

      $ sudo cp -R apache-storm-0.9.2-incubating /usr/lib/

Go to /usr/lib/apache-storm-0.9.2-incubating/ and configure storm.yaml present in conf folder, add the followuing line, this folder must have write permissions too.

storm.zookeeper.servers:
    - "localhost"
storm.zookeeper.port: 2181
nimbus.host: "localhost"
storm.local.dir: "/var/stormtmp"     
java.library.path: "/usr/lib/jvm/java-7-openjdk-amd64"
supervisor.slots.ports:
    - 6700
    - 6701
    - 6702
    - 6703
worker.childopts: "-Xmx768m"
nimbus.childopts: "-Xmx512m"

supervisor.childopts: "-Xmx256m"

4) Installing Native Dependencies

Before installing ZeroMQ and JZMQ make sure following dependencies are installed on Ubuntu system

libtool
autoconf
pkg-config

In any case to be sure just run following command on terminal

$ sudo apt-get install libtool autoconf pkg-config

(i) ZeroMQ - Download the ZeroMQ tarball from official ZeroMQ site

    $ wget http://download.zeromq.org/zeromq-4.0.4.tar.gz
    $ Untar it tar –xzf zeromq-2.1.7.tar.gz
    $ cd zeromq-2.1.7
    $ ./configure
    $ make
    $ sudo make install

(ii) JZMQ - Clone JZMQ from official git repository

    $ git clone https://github.com/zeromq/jzmq.git
    $ cd jzmq
    $ ./autogen.sh
    $ ./configure
    $ make
    $ sudo make install

5) Starting Storm Cluster and submitting the topology

Then start Storm Cluster by starting master(nimbus) and worker nodes(supervisor).
Go to the ‘bin’ directory of the Storm installation and execute following command. [separate command line window]

    $ sudo ./storm nimbus

To start worker i.e. supervisor go to the ‘bin’ directory of the Storm installation and execute following command. [separate command line window]
    
    $ sudo ./storm supervisor    

6) Upload topology using Storm Client

To upload topology to Storm Cluster go to the ‘bin’ directory of the Storm installation and execute following command. [separate command line window]

    $ sudo ./storm jar <path-to-topology-jar> <class-with-the-main> <arg1> <arg2> ...<argN>

A) <path-to-topology-jar>: is the complete path to the complied jar where your topology code and all your libraries are.
B) <class-with-the-main>: will be the class in jar file having main method where the StormSubmitter is executed.
C) <arg1> <arg2> <argN>:  rest of the arguments will be the parameter that will be received by main method.

Comments

Post a Comment