Etiquetas

Vamos a mostrar una especie de Hello World de comunicación entre Kafka (0.8.0), Storm (0.9.0-wip21) y Hadoop (2.0.2-alpha-gphd).

Para ello vamos a utilizar la distribución de Hadoop PivotalHD y enviaremos un mensaje JSON a Kafka, lo fecharemos en Storm y lo almacenaremos en HDFS

Lo primero es hacerse con las últimas versiones de cada uno e instalarlos en uno o varios servidores (este paso lo omitiremos).

Luego:

· Arrancar Kafka

bin/kafka-server-start.sh config/server.properties

· Crear el tópico y enviar el mensaje JSON

echo “{“name”:”testFetchJSON”,”type”:”7″}” | bin/kafka-console-producer.sh –broker-list localhost:9092 –topic jsonTopic

· Crear la topología Storm.

No es propiamente una topología si no que actuaremos directamente sobre el Stream ya que es un ejemplo muy simple

· La clase que se encarga de la lectura del mensaje del Broker Kafka desde Storm es esta:

· La clase que se encarga de la modificación del mensaje es la siguiente:

La persistencia en HDFS se realiza desde esta clase:

· Una vez compilado se puede ejecutar en el modo LocalCluster de Storn con maven:

mvn exec:java -Dexec.mainClass=”openbus.processor.topology.OpenbusJSONTopology”

· Y el comando para comprobar que se ha creado el fichero correspondiente

hadoop fs -cat hdfs://192.168.20.135:8020/user/gpadmin/openbus/json*

{“name”:”testFetchJSON”,”date”:”2013/10/07 04:36:33″,”type”:7}

Anuncios