SlideShare una empresa de Scribd logo
1 de 14
¿Storm? ¿Qué es?
Conceptos básicos
Apache Storm
● Sistema de computación distribuida en tiempo real y tolerante a
fallos.
● Storm hace fácil la tarea de procesar streams de datos
● El procesado hace en tiempo real lo que Hadoop hace en
procesos batch
● Simple, se puede utilizar cualquier lenguaje de programación
● Libre y Open Source (Licencia Apache).
Apache Storm
● General: Soporta una variedad de casos de uso posibles.
● Escalabilidad: Simplemente añadiendo nuevas máquinas e incrementado
la configuración de paralelismo de la topología. Primeras implementaciones
1M msg/seg en un cluster 10 máquinas.
● Garantía de no perder datos: A diferencia de otros sistemas como S4,
Storm garantiza que no hay perdida de mensajes.
● Robusto: Los clusters se pueden configurar de forma sencilla.
● Tolerante a fallos: Si existen fallos, storm re-asigna las tareas.
● Agnóstico del lenguaje: Los componentes de storm se pueden definir en
cualquier lenguaje de programación.
Casos de uso
● Procesamiento de Streams: Con Storm no es necesario mantener colas
intermedias para realizar el procesamiento de streams.
● Computación continua: Permite enviar datos de forma continua para y por
tanto actualizar y mostrar resultados en tiempo real (Como métricas web).
● Llamadas a procedimientos remotos distribuidos: Permite paralelizar de
forma muy sencilla operaciones costosas de CPU.
Componentes Cluster Storm
● En Hadoop se ejecutan M-R Jobs; en Storm se ejecutan topologies. La
principal diferencia es que un job M-R termina y un topologie se ejecuta
indefinidamente.
● Dos tipos de nodos: master node y worker node.
● El master node ejecuta el demonio “Nimbus” (~jobtracker en Hadoop).
● Cada worker node ejecuta un demonio llamado “Supervisor”. El
supervisor escucha trabajos asignados a su máquina y arranca y detiene
procesos worker. Cada proceso worker ejecuta un subconjunto de la
topología.
● Una topología en ejecución consiste en muchos procesos worker a lo largo
de muchas máquinas.
Coordinación Cluster Storm
● Una topologie es un grafo de computación. Cada nodo en la topologie
contiene lógica de procesado y enlaces entre nodos para indicar cómo los
datos se deben comunicar.
● Para ejecutar una topología se empaqueta todo el código y sus
dependencias en un jar.
storm jar allmycode.jar backtype.storm.MyTopology arg1 arg2
● Ejecuta la clase bactype.storm.MyTopology con sus argumentos y la envía
al cluster storm.
● Las definiciones de las topologías son estructuras Thrift y como Nimbus es
un servicio Thrift se pueden crear topologías utilizando cualquier lenguaje.
Streams
● Es la abstracción principal en Storm. Se trata de una secuencia sin límite de
tuplas.
● Storm proporciona abstracciones para transformar streams.
● Las abstracciones básicas son spouts y bolts. Spouts y bolts tienen
interfaces que hay que implementar para ejecutar la lógica de aplicación
específica.
Spout
● El Spout es una fuente de streams en un topology.
● Generalmente leen tuplas de la fuente externa y los emiten en la topología.
● Un spout es una secuencia de streams. Por ejemplo un spout puede leer
tuplas de una queue y emitirlas como stream o bien conectarse a la twitter
API y emitir un stream de tweets
Bolt
● Todo el procesamiento del topology se hace en los Bolts. Los Bolts pueden
realizar operaciones de filtrado, funciones, agregados, conexiones con BBDD y
más.
● Un bolt consume cualquier número de streams de entrada, realiza algún
procesado sobre ellos y posiblemente emite nuevos streams.
● Transformaciones de stream complejas como calcular un trending topic de un
stream de tweets requieren múltiples pasos y múltiples bolts.
Topologies
● Las redes de Spouts y Bolts se empaquetan en una Topologie. Una
topologie es un grafo donde cada nodo es un Spout o Bolt.
● Enlaces entre nodos indican como se pasan las tuplas.
● Cada nodo en la topología se ejecuta en paralelo.
● En la topología se puede especificar cuanto paralelismo se desea para cada
nodo.
● Todos los nodos de la topología deben ser capaces de ejecutarse de forma
individual.
Modelo de datos
● Storm utiliza tuplas como modelo de datos. Una tupla es una lista de valores
con nombre, cada campo en una tupla puede ser un objeto de cualquier
tipo.
● Storm soporta todos los tipos primitivos y se pueden crear nuevos
implementando un serializador.
● Cada nodo en una topology debe declarar los campos de salida para las
tuplas que emite.
Ejecución Spouts y Bolts
www.TodoBI.com
info@stratebi.co
m
www.stratebi.com
Mas información
Tfno:
91.788.34.10
Madrid: Pº de la Castellana, 164, 1º
Barcelona: C/ Valencia, 63
Brasil: Av. Paulista, 37 4 andar
Stratebi: Quiénes somos

Más contenido relacionado

La actualidad más candente

Red en estrella y en Árbol
Red en estrella y en ÁrbolRed en estrella y en Árbol
Red en estrella y en Árbol
AndreaRamirez113
 
Algoritmos Genéticos
Algoritmos GenéticosAlgoritmos Genéticos
Algoritmos Genéticos
ESCOM
 

La actualidad más candente (20)

Tema3 modelo relacional - normalización
Tema3   modelo relacional - normalizaciónTema3   modelo relacional - normalización
Tema3 modelo relacional - normalización
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Tipos de Datos Abstractos.
Tipos de Datos Abstractos.Tipos de Datos Abstractos.
Tipos de Datos Abstractos.
 
mongoDB - Arquitectura y Componentes
mongoDB - Arquitectura y ComponentesmongoDB - Arquitectura y Componentes
mongoDB - Arquitectura y Componentes
 
Manual sql server parte 1
Manual sql server parte 1Manual sql server parte 1
Manual sql server parte 1
 
Presentacion oracle power point
Presentacion oracle power pointPresentacion oracle power point
Presentacion oracle power point
 
Java.sql.*
Java.sql.*Java.sql.*
Java.sql.*
 
Estructuras de datos fundamentales
Estructuras de datos  fundamentalesEstructuras de datos  fundamentales
Estructuras de datos fundamentales
 
Mapa mental uml
Mapa mental umlMapa mental uml
Mapa mental uml
 
Guia 1 de hilos y procesos posix
Guia 1 de hilos y procesos posixGuia 1 de hilos y procesos posix
Guia 1 de hilos y procesos posix
 
Cuadro comparativo tipos de busquedas en IA
Cuadro comparativo tipos de busquedas en IACuadro comparativo tipos de busquedas en IA
Cuadro comparativo tipos de busquedas en IA
 
Oracle
OracleOracle
Oracle
 
Diccionario de base de datos.
Diccionario de base de datos.Diccionario de base de datos.
Diccionario de base de datos.
 
Consultas multitabla clase
Consultas multitabla claseConsultas multitabla clase
Consultas multitabla clase
 
Introduccion y topologia de redes
Introduccion y topologia de redesIntroduccion y topologia de redes
Introduccion y topologia de redes
 
Red en estrella y en Árbol
Red en estrella y en ÁrbolRed en estrella y en Árbol
Red en estrella y en Árbol
 
Sistema De Gestión De Base De Datos
Sistema De Gestión De Base De DatosSistema De Gestión De Base De Datos
Sistema De Gestión De Base De Datos
 
Pilas
PilasPilas
Pilas
 
Ensayo. Enrutamiento entre las VLAN
Ensayo. Enrutamiento entre las VLANEnsayo. Enrutamiento entre las VLAN
Ensayo. Enrutamiento entre las VLAN
 
Algoritmos Genéticos
Algoritmos GenéticosAlgoritmos Genéticos
Algoritmos Genéticos
 

Similar a Apache Storm: Introduccion

Tema 3 -_switches_gestionables
Tema 3 -_switches_gestionablesTema 3 -_switches_gestionables
Tema 3 -_switches_gestionables
jammanel
 
Funcionamiento Del Switch Y Del Router
Funcionamiento Del Switch Y Del RouterFuncionamiento Del Switch Y Del Router
Funcionamiento Del Switch Y Del Router
utch
 
Prototipo de informe laboratorio nat
Prototipo de informe laboratorio natPrototipo de informe laboratorio nat
Prototipo de informe laboratorio nat
Nacho SP
 
Información básica
Información básicaInformación básica
Información básica
hmitre17
 

Similar a Apache Storm: Introduccion (20)

Storm
StormStorm
Storm
 
Apache Storm: Instalación
Apache Storm: InstalaciónApache Storm: Instalación
Apache Storm: Instalación
 
De Threads a CompletableFutures
De Threads a CompletableFuturesDe Threads a CompletableFutures
De Threads a CompletableFutures
 
Lab5 guia
Lab5 guiaLab5 guia
Lab5 guia
 
Switches gestionables
Switches gestionablesSwitches gestionables
Switches gestionables
 
Openmp
OpenmpOpenmp
Openmp
 
Estudio sobre Spark, Storm, Kafka y Hive
Estudio sobre Spark, Storm, Kafka y HiveEstudio sobre Spark, Storm, Kafka y Hive
Estudio sobre Spark, Storm, Kafka y Hive
 
T0 -arquitectura de internet
T0  -arquitectura de internetT0  -arquitectura de internet
T0 -arquitectura de internet
 
Thread
ThreadThread
Thread
 
Tema 3 -_switches_gestionables
Tema 3 -_switches_gestionablesTema 3 -_switches_gestionables
Tema 3 -_switches_gestionables
 
Switch
SwitchSwitch
Switch
 
Ud3 inocente alcaide
Ud3 inocente alcaideUd3 inocente alcaide
Ud3 inocente alcaide
 
Arqui hardware
Arqui hardwareArqui hardware
Arqui hardware
 
Funcionamiento Del Switch Y Del Router
Funcionamiento Del Switch Y Del RouterFuncionamiento Del Switch Y Del Router
Funcionamiento Del Switch Y Del Router
 
Clase 4 redes
Clase 4 redesClase 4 redes
Clase 4 redes
 
Prototipo de informe laboratorio nat
Prototipo de informe laboratorio natPrototipo de informe laboratorio nat
Prototipo de informe laboratorio nat
 
Información básica
Información básicaInformación básica
Información básica
 
Docker y Kubernetes, en busca de la alta disponibilidad
Docker y Kubernetes, en busca de la alta disponibilidadDocker y Kubernetes, en busca de la alta disponibilidad
Docker y Kubernetes, en busca de la alta disponibilidad
 
Hilos con Posix
Hilos con PosixHilos con Posix
Hilos con Posix
 
Practica4jpmstp
Practica4jpmstpPractica4jpmstp
Practica4jpmstp
 

Más de Stratebi

Más de Stratebi (20)

Destinos turisticos inteligentes
Destinos turisticos inteligentesDestinos turisticos inteligentes
Destinos turisticos inteligentes
 
Azure Synapse
Azure SynapseAzure Synapse
Azure Synapse
 
Options for Dashboards with Python
Options for Dashboards with PythonOptions for Dashboards with Python
Options for Dashboards with Python
 
Dashboards with Python
Dashboards with PythonDashboards with Python
Dashboards with Python
 
PowerBI Tips y buenas practicas
PowerBI Tips y buenas practicasPowerBI Tips y buenas practicas
PowerBI Tips y buenas practicas
 
Machine Learning Meetup Spain
Machine Learning Meetup SpainMachine Learning Meetup Spain
Machine Learning Meetup Spain
 
LinceBI IIoT (Industrial Internet of Things)
LinceBI IIoT (Industrial Internet of Things)LinceBI IIoT (Industrial Internet of Things)
LinceBI IIoT (Industrial Internet of Things)
 
SAP - PowerBI integration
SAP - PowerBI integrationSAP - PowerBI integration
SAP - PowerBI integration
 
Aplicaciones Big Data Marketing
Aplicaciones Big Data MarketingAplicaciones Big Data Marketing
Aplicaciones Big Data Marketing
 
A federated information infrastructure that works
A federated information infrastructure that works A federated information infrastructure that works
A federated information infrastructure that works
 
9 problemas en proyectos Data Analytics
9 problemas en proyectos Data Analytics9 problemas en proyectos Data Analytics
9 problemas en proyectos Data Analytics
 
PowerBI: Soluciones, Aplicaciones y Cursos
PowerBI: Soluciones, Aplicaciones y CursosPowerBI: Soluciones, Aplicaciones y Cursos
PowerBI: Soluciones, Aplicaciones y Cursos
 
Sports Analytics
Sports AnalyticsSports Analytics
Sports Analytics
 
Vertica Extreme Analysis
Vertica Extreme AnalysisVertica Extreme Analysis
Vertica Extreme Analysis
 
Businesss Intelligence con Vertica y PowerBI
Businesss Intelligence con Vertica y PowerBIBusinesss Intelligence con Vertica y PowerBI
Businesss Intelligence con Vertica y PowerBI
 
Vertica Analytics Database general overview
Vertica Analytics Database general overviewVertica Analytics Database general overview
Vertica Analytics Database general overview
 
Talend Cloud en detalle
Talend Cloud en detalleTalend Cloud en detalle
Talend Cloud en detalle
 
Master Data Management (MDM) con Talend
Master Data Management (MDM) con TalendMaster Data Management (MDM) con Talend
Master Data Management (MDM) con Talend
 
Talend Introducion
Talend IntroducionTalend Introducion
Talend Introducion
 
Talent Analytics
Talent AnalyticsTalent Analytics
Talent Analytics
 

Último

Los más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdfLos más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdf
JC Díaz Herrera
 
PLAN ANUAL DE PROYECTO 2020. para mejorar
PLAN ANUAL DE PROYECTO 2020. para mejorarPLAN ANUAL DE PROYECTO 2020. para mejorar
PLAN ANUAL DE PROYECTO 2020. para mejorar
CelesteRolon2
 
Metodos de esterilizacion _20240418_181249_0000.pdf
Metodos de esterilizacion _20240418_181249_0000.pdfMetodos de esterilizacion _20240418_181249_0000.pdf
Metodos de esterilizacion _20240418_181249_0000.pdf
arteagaara
 

Último (20)

Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticAnálisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
 
Los más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdfLos más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdf
 
P.P ANÁLISIS DE UN TEXTO BÍBLICO. TEMA 10.pptx
P.P ANÁLISIS DE UN TEXTO BÍBLICO. TEMA 10.pptxP.P ANÁLISIS DE UN TEXTO BÍBLICO. TEMA 10.pptx
P.P ANÁLISIS DE UN TEXTO BÍBLICO. TEMA 10.pptx
 
Los países por porcentaje de población blanca europea en AL (2024).pdf
Los países por porcentaje de población blanca europea en AL (2024).pdfLos países por porcentaje de población blanca europea en AL (2024).pdf
Los países por porcentaje de población blanca europea en AL (2024).pdf
 
Las marcas automotrices con más ventas de vehículos (2024).pdf
Las marcas automotrices con más ventas de vehículos (2024).pdfLas marcas automotrices con más ventas de vehículos (2024).pdf
Las marcas automotrices con más ventas de vehículos (2024).pdf
 
Investigacion cualitativa y cuantitativa....pdf
Investigacion cualitativa y cuantitativa....pdfInvestigacion cualitativa y cuantitativa....pdf
Investigacion cualitativa y cuantitativa....pdf
 
PIB PERÚ datos y análisis de los últimos años
PIB PERÚ datos y análisis de los últimos añosPIB PERÚ datos y análisis de los últimos años
PIB PERÚ datos y análisis de los últimos años
 
procedimiento paran la planificación en los centros educativos tipo v(multig...
procedimiento  paran la planificación en los centros educativos tipo v(multig...procedimiento  paran la planificación en los centros educativos tipo v(multig...
procedimiento paran la planificación en los centros educativos tipo v(multig...
 
La Guerra Biologica - Emiliano Paico Vilchez.pdf
La Guerra Biologica - Emiliano Paico Vilchez.pdfLa Guerra Biologica - Emiliano Paico Vilchez.pdf
La Guerra Biologica - Emiliano Paico Vilchez.pdf
 
Presentacion-Prevencion-Incendios-Forestales.pdf
Presentacion-Prevencion-Incendios-Forestales.pdfPresentacion-Prevencion-Incendios-Forestales.pdf
Presentacion-Prevencion-Incendios-Forestales.pdf
 
diseño de una linea de produccion de jabon liquido.pptx
diseño de una linea de produccion de jabon liquido.pptxdiseño de una linea de produccion de jabon liquido.pptx
diseño de una linea de produccion de jabon liquido.pptx
 
PLAN ANUAL DE PROYECTO 2020. para mejorar
PLAN ANUAL DE PROYECTO 2020. para mejorarPLAN ANUAL DE PROYECTO 2020. para mejorar
PLAN ANUAL DE PROYECTO 2020. para mejorar
 
Los idiomas más hablados en el mundo (2024).pdf
Los idiomas más hablados en el mundo  (2024).pdfLos idiomas más hablados en el mundo  (2024).pdf
Los idiomas más hablados en el mundo (2024).pdf
 
AA CUADRO DE TEORIA DEL CASO. (1) (1).docx
AA CUADRO DE TEORIA DEL CASO. (1) (1).docxAA CUADRO DE TEORIA DEL CASO. (1) (1).docx
AA CUADRO DE TEORIA DEL CASO. (1) (1).docx
 
Posiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdfPosiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdf
 
Metodos de esterilizacion _20240418_181249_0000.pdf
Metodos de esterilizacion _20240418_181249_0000.pdfMetodos de esterilizacion _20240418_181249_0000.pdf
Metodos de esterilizacion _20240418_181249_0000.pdf
 
Principales Retos Demográficos de Puerto Rico
Principales Retos Demográficos de Puerto RicoPrincipales Retos Demográficos de Puerto Rico
Principales Retos Demográficos de Puerto Rico
 
Tipos de Educacion en diferentes partes del mundo.pptx
Tipos de Educacion en diferentes partes del mundo.pptxTipos de Educacion en diferentes partes del mundo.pptx
Tipos de Educacion en diferentes partes del mundo.pptx
 
COMUNICADO PARA TODO TIPO DE REUNIONES .
COMUNICADO PARA TODO TIPO DE REUNIONES .COMUNICADO PARA TODO TIPO DE REUNIONES .
COMUNICADO PARA TODO TIPO DE REUNIONES .
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdf
 

Apache Storm: Introduccion

  • 3. Apache Storm ● Sistema de computación distribuida en tiempo real y tolerante a fallos. ● Storm hace fácil la tarea de procesar streams de datos ● El procesado hace en tiempo real lo que Hadoop hace en procesos batch ● Simple, se puede utilizar cualquier lenguaje de programación ● Libre y Open Source (Licencia Apache).
  • 4. Apache Storm ● General: Soporta una variedad de casos de uso posibles. ● Escalabilidad: Simplemente añadiendo nuevas máquinas e incrementado la configuración de paralelismo de la topología. Primeras implementaciones 1M msg/seg en un cluster 10 máquinas. ● Garantía de no perder datos: A diferencia de otros sistemas como S4, Storm garantiza que no hay perdida de mensajes. ● Robusto: Los clusters se pueden configurar de forma sencilla. ● Tolerante a fallos: Si existen fallos, storm re-asigna las tareas. ● Agnóstico del lenguaje: Los componentes de storm se pueden definir en cualquier lenguaje de programación.
  • 5. Casos de uso ● Procesamiento de Streams: Con Storm no es necesario mantener colas intermedias para realizar el procesamiento de streams. ● Computación continua: Permite enviar datos de forma continua para y por tanto actualizar y mostrar resultados en tiempo real (Como métricas web). ● Llamadas a procedimientos remotos distribuidos: Permite paralelizar de forma muy sencilla operaciones costosas de CPU.
  • 6. Componentes Cluster Storm ● En Hadoop se ejecutan M-R Jobs; en Storm se ejecutan topologies. La principal diferencia es que un job M-R termina y un topologie se ejecuta indefinidamente. ● Dos tipos de nodos: master node y worker node. ● El master node ejecuta el demonio “Nimbus” (~jobtracker en Hadoop). ● Cada worker node ejecuta un demonio llamado “Supervisor”. El supervisor escucha trabajos asignados a su máquina y arranca y detiene procesos worker. Cada proceso worker ejecuta un subconjunto de la topología. ● Una topología en ejecución consiste en muchos procesos worker a lo largo de muchas máquinas.
  • 7. Coordinación Cluster Storm ● Una topologie es un grafo de computación. Cada nodo en la topologie contiene lógica de procesado y enlaces entre nodos para indicar cómo los datos se deben comunicar. ● Para ejecutar una topología se empaqueta todo el código y sus dependencias en un jar. storm jar allmycode.jar backtype.storm.MyTopology arg1 arg2 ● Ejecuta la clase bactype.storm.MyTopology con sus argumentos y la envía al cluster storm. ● Las definiciones de las topologías son estructuras Thrift y como Nimbus es un servicio Thrift se pueden crear topologías utilizando cualquier lenguaje.
  • 8. Streams ● Es la abstracción principal en Storm. Se trata de una secuencia sin límite de tuplas. ● Storm proporciona abstracciones para transformar streams. ● Las abstracciones básicas son spouts y bolts. Spouts y bolts tienen interfaces que hay que implementar para ejecutar la lógica de aplicación específica.
  • 9. Spout ● El Spout es una fuente de streams en un topology. ● Generalmente leen tuplas de la fuente externa y los emiten en la topología. ● Un spout es una secuencia de streams. Por ejemplo un spout puede leer tuplas de una queue y emitirlas como stream o bien conectarse a la twitter API y emitir un stream de tweets
  • 10. Bolt ● Todo el procesamiento del topology se hace en los Bolts. Los Bolts pueden realizar operaciones de filtrado, funciones, agregados, conexiones con BBDD y más. ● Un bolt consume cualquier número de streams de entrada, realiza algún procesado sobre ellos y posiblemente emite nuevos streams. ● Transformaciones de stream complejas como calcular un trending topic de un stream de tweets requieren múltiples pasos y múltiples bolts.
  • 11. Topologies ● Las redes de Spouts y Bolts se empaquetan en una Topologie. Una topologie es un grafo donde cada nodo es un Spout o Bolt. ● Enlaces entre nodos indican como se pasan las tuplas. ● Cada nodo en la topología se ejecuta en paralelo. ● En la topología se puede especificar cuanto paralelismo se desea para cada nodo. ● Todos los nodos de la topología deben ser capaces de ejecutarse de forma individual.
  • 12. Modelo de datos ● Storm utiliza tuplas como modelo de datos. Una tupla es una lista de valores con nombre, cada campo en una tupla puede ser un objeto de cualquier tipo. ● Storm soporta todos los tipos primitivos y se pueden crear nuevos implementando un serializador. ● Cada nodo en una topology debe declarar los campos de salida para las tuplas que emite.
  • 14. www.TodoBI.com info@stratebi.co m www.stratebi.com Mas información Tfno: 91.788.34.10 Madrid: Pº de la Castellana, 164, 1º Barcelona: C/ Valencia, 63 Brasil: Av. Paulista, 37 4 andar Stratebi: Quiénes somos