Apache Storm


Objetivo.

El propósito es probar la lógica de una topología en una configuración realista e identificar errores en la estabilidad del ambiente.

Para fines de pruebas, comenzaremos con la instalación y configuración en modo standalone.

Prerrequisitos

  1. Instalar Java
  2. Instalar Maven 
  3. Instalar Git 
  4. Instalar ZooKeeper

Configuración

  • Agregamos un usuario/grupo storm para storm.
  • Configuramos el FS; sugerencia que sea /opt/storm para el usuario storm
sudo lsblk -f
sudo gedit /etc/fstab

Después de haber instalado la anterior nos enfocamos en la instalación de Storm en un equipo

  • Descargar uno de los paquetes de Storm y verificamos integridad.
wget http://www.apache.org/dyn/closer.lua/storm/apache-storm-0.9.6/apache-storm-0.9.6.tar.gz
md5sum -c

Desempaquetar y configurar la variable de ambiente STORM_HOME.

tar xvzf apache-storm-0.9.6.tar.gz

vi /home/myuser/.profile

export STORM_HOME=/opt/storm
export PATH=$PATH:$STORM_HOME

  • Editamos el storm.yaml agregando la siguiente información:

 

storm.zookeeper.servers:
- "zookeeper"
storm.zookeeper.port: 2181
nimbus.host: "nimbus"
storm.local.dir: "/var/storm"
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
ui.port: 9099

Iniciar el nodo maestro:

sudo $STORM_HOME/bin/storm nimbus

Desplegando una Topologia de Prueba

  • Clonamos el proyecto con Git
git clone https://github.com/yanellyjm/storm-base.git
  • Dentro de la carpeta storm-basse donde está el pom, ejecutamos:
mvn clean install
  • Desplegamos la topologia de prueba:
storm jar hello-world-1.0-SNAPSHOT-jar-with-dependencies.jar storm.cookbook.HelloWorldTopology aTopologyNameToShowInTheUI 

Componentes

El nodo Nimbus es el maestro en el clúster de Storm. Es responsable de distribuir el código a través de los nodos Supervisores,  asignandoles tareas y monit

Nodos supervisor son los nodos worker en un clúster Storm. Cada nodo supervisor ejecuta un demonio que es responsable de crear, inicializar y detener los procesos para ejecutar las tareas asignadas a ese nodo.

El  clúster Zookeeper, en cualquier aplicación distribuida varios procesos necesitan coordinarse entrea sí y compartir alguna información de configuración.


Advertisements

One thought on “Apache Storm

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s