Skip to content

Ashoka107/s4-class1

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

S4 - Primera clase

Instalación

Para la configuración del motor de procesamiento de stream S4, se deberán instalar ciertos paquetes, por lo que se deberán seguir los siguientes pasos:

Instalar OpenJDK

$ sudo apt-get install openjdk-7-jdk

Configuración de OpenJDK

$ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/java-7-openjdk-amd64/bin/java" 1
$ sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/java-7-openjdk-amd64/bin/javac" 1
$ sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/java-7-openjdk-amd64/bin/javaws" 1

Apache S4

Download: http://archive.apache.org/dist/incubator/s4/s4-0.6.0-incubating/apache-s4-0.6.0-incubating-src.zip

Gradle

Download: https://services.gradle.org/distributions/gradle-1.4-all.zip

Instalar S4

En la carpeta de S4, se deberá realizar el siguiente comando:

$ ../gradle-1.4/bin/gradle wrapper

Luego deberá ejecutar el siguiente comando,

$ ./gradlew install -DskipTests
$ ./gradlew s4-tools:installApp

Create App

Para crear una nueva aplicación, se deberá ejecutar el siguiente comando:

$ ./s4 newApp myApp -parentDir=/tmp

donde 'myApp' es el nombre de la aplicación y /tmp corresponde al directorio donde será guardado el proyecto.

Al crear el proyecto, existen ciertos archivos que podrían ser útiles modificarlos, como:

build.gradle  --> El archivo de creación por plantilla, que tendrá que personalizar
gradlew --> referencias del script gradlew de la instalación S4
s4 --> Referencia el script s4 de la instalación de S4, y añade una tarea "adapter"
src/ --> Sources (maven-like structure)

Execute App

Ejecutar en la carpeta de Apache S4, el siguiente comando:

$ ./s4 zkServer -clusters=c=cluster1:flp=12000:nbTasks=2 -clean

Luego, se deberá levantar un nodo, el cual se deberá realizar desde la carpeta de la aplicación con el siguiente comando:

$ ./s4 node -c=cluster1

Para poder compilar el programa, se deberán ejecutar los dos siguientes comandos:

$ ./s4 s4r -a=hello.HelloApp -b=`pwd`/build.gradle myApp
$ ./s4 deploy -s4r=`pwd`/build/libs/myApp.s4r -c=cluster1 -appName=myApp

Debe tomarse en consideración que 'hello.HelloApp' se deberá cambiar por el nombre de la clase con su correspondiente package que está incorporado. Así mismo 'myApp', que dependerá del nombre de la aplicación que se colocó.

Para poder verificar el estado del sistema, puede utilizarse el siguiente comando

$ ./s4 status

Finalmente, para poder escuchar los datos entregados a cada uno de los PE, se necesita crear un adapter, el cual estará encargado de entregar los flujos de datos a cada uno de los nodos. Por lo tanto, para poder realizar esto, se deberá ejecutar los siguientes comandos:

$ ./s4 newCluster -c=cluster2 -nbTasks=1 -flp=13000
$ ./s4 deploy -appClass=hello.HelloInputAdapter -p=s4.adapter.output.stream=names -c=cluster2 -appName=adapter
$ ./s4 adapter -c=cluster2

Si se desea utilizar las métricas por defecto de S4, se debe utilizar como parámetro el siguiente comando:

$ -p=s4.metrics.config=csv:/path/to/directory:TIME:TIMEUNIT

About

Simple example of Apache S4

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 67.0%
  • Java 29.3%
  • Groovy 3.4%
  • CSS 0.2%
  • Shell 0.1%
  • Scala 0.0%