Tutorial de Apache NiFi: ¿Qué es NiFi? Architectura e instalación

Resumen del tutorial de Apache NiFi

Este tutorial de Apache NiFi cubre todos los temas básicos y avanzados desde cero. aprenderás el concepts como definición de NiFi, historia, archiTecnología, características, proceso de instalación, casos de uso. También aprenderá por qué necesita utilizar Apache NiFi y las mejores prácticas para ejecutar Apache NiFi.

¿Qué es Apache NiFi?

apache nifi es un software de código abierto para automatizar y gestionar el flujo de datos entre sistemas. Es un sistema potente y confiable para procesar y distribuir datos. Proporciona una interfaz de usuario basada en web para crear, monitorear y controlar flujos de datos. Tiene un proceso de flujo de datos altamente configurable y modificable para modificar datos en tiempo de ejecución.

Apache NiFi es fácilmente extensible mediante el desarrollo de componentes personalizados.

¿Por qué utilizar Apache NIfi?

Estas son las razones para usar Apache Nifi:

  • Le permite realizar ingestión de datos para extraer datos a NiFi, desde numerosas fuentes de datos y crear archivos de flujo.
  • Ofrece control en tiempo real que le ayuda a gestionar el movimiento de datos entre cualquier origen y destino.
  • Visualice DataFlow a nivel empresarial
  • Proporcionar herramientas y extensiones comunes.
  • Le permite aprovechar las bibliotecas existentes y Java ecosfuncionalidad del sistema
  • Ayuda a las organizaciones a integrar Nifi con su infraestructura existente
  • NiFi está diseñado para escalar horizontalmente clusters que ofrecen entrega garantizada de datos
  • Visualice y supervise el rendimiento y el comportamiento en un boletín de flujo que ofrece información y documentación en línea.
  • Le ayuda a iniciar y detener componentes por separado o a nivel de grupo
  • Le ayuda a escuchar, buscar, dividir, agregar, enrutar, transformar y arrastrar y soltar Dataflow

Historia de Apache NiFi

  • Desarrollado en la NSA durante más de ocho años.
  • 2014- Fue donado a Apache Software. Foundation
  • 2015: NiFi se convirtió en parte oficial de Apache Project Suite
  • Desde entonces, cada 6-8 semanas, Apache NiFi lanza una nueva actualización

a no ser que Architectura

Apache NiFi tiene un diseño bien pensado architectura. Una vez que los datos se obtienen de fuentes externas, se representan como FlowFile dentro de Apache NiFi. architectura.

a no ser que Architectura
a no ser que Architectura

Estos son los componentes clave de NiFi architectura

Componente Nifi Descripción
Archivo de flujo FlowFile son datos originales con metainformación adjunta. Le permite procesar no sólo CSV u otros datos basados ​​en registros, sino también imágenes, vídeos, audio o cualquier otro dato binario.
Procesador de archivos de flujo Realiza el trabajo que actúa como componente básico del flujo de datos en NiFi.
Controlador de flujo Mantiene un registro de cómo se conectan los procesos. Gestiona los subprocesos y sus asignaciones que utilizan todos los procesos.
servidor web El servidor web aloja la API y los comandos basados ​​en HTTP de NiFi.
Extension Hay muchos tipos de extensiones NiFi que operate y ejecutar dentro de la JVM.
Conexión Actúa como un vínculo entre los procesadores que contienen una cola y relaciones que afectan dónde se enrutan los datos.
Contrapresión Evite que el sistema se sobrecargue controlando la cantidad o el tamaño de los datos de los archivos de flujo que se pueden almacenar en la cola.
Grupo de proceso Un grupo de procesos es un conjunto de procesos y sus conexiones, que recibe y envía datos con la ayuda de puertos.
Repositorio de archivos de flujo En el repositorio FlowFile, NiFi realiza un seguimiento del estado de lo que details tiene aproximadamente un FlowFile determinado que está activo en el flujo.
Repositorio de contenido El repositorio de contenido es un área donde existen los bytes de contenido reales de un FlowFile determinado.
Repositorio de procedencia El Repositorio de Procedencia es un área donde se recopilan todos los datos de eventos de procedencia.

Características de Apache NiFi

  • Soportes NiFi buffering de todos los datos en cola y ofrece una capacidad de contrapresión ya que esas colas pueden alcanzar límites específicos
  • NiFi permite configurar uno o más esquemas de priorización
  • Proporciona procesadores de conexión para muchas fuentes de datos.
  • Admite cualquier dispositivo que ejecute Java
  • Ideal para lugares de conectividad limitada
  • Soporte para resolución de problemas y optimización de flujo.
  • Ofrece autenticación/autorización basada en roles
  • Permite la descarga, recuperación y reproducción de archivos individuales.
  • Cree sus procesadores, servicios de controlador y más
  • Proporcionar cifrado de contenido y comunicación a través de protocolos seguros.
  • Permite un desarrollo rápido y pruebas efectivas.
  • Permite el desarrollo de componentes simples de una sola función que se pueden reutilizar y combinar para hacer más complex flujos
  • Permite el aislamiento del cargador de clases para una gestión más sencilla de las dependencias.

Cómo instalar Apache NiFi

A continuación se muestra un proceso paso a paso para la instalación de Apache NiFi

Paso 1) Ve a el enlace,

y haga clic en "Continuar para suscribirse"

Instalar Apache NiFi

Paso 2) En la página siguiente,

Haga clic en "Aceptar términos"

Instalar Apache NiFi

Paso 3) Verás esta página,

¡Gracias por suscribirte a este producto! Estamos procesando su petición.

Instalar Apache NiFi

Paso 4) Actualiza la página después de 5 minutos.

Haga clic en “Continuar a Configuración”

Instalar Apache NiFi

Paso 5) En la página siguiente,

Mantenga la configuración predeterminada y haga clic en "Continuar para iniciar"

Instalar Apache NiFi

Paso 6) En la página siguiente,

Haga clic en Iniciar. Es posible que necesites crear una clave.

Instalar Apache NiFi

Paso 7) Verá este mensaje de éxito.

¡Felicidades! Una instancia de este software se implementó exitosamente.yed en EC2!

Instalar Apache NiFi

Paso 8) Nota,

La identificación de la instancia y el DNS público de la instancia EC2.

Instalar Apache NiFi

Paso 9) En el grupo de seguridad,

Agregar todas las reglas de tráfico entrante y saliente

Instalar Apache NiFi

Paso 10) Para acceder a Nifi,

simplemente usa la URL

http://publicdns:808/nifi

En nuestro caso se convierte

http://ec2-100-26-156-57.compute-1.amazonaws.com:8080/nifi/

Usuario: administrador

Contraseña: ID de instancia

Instalar Apache NiFi

Paso 11) Ya verás,

Pantalla de inicio de NiFi

Instalar Apache NiFi

Casos de uso de Nifi

A continuación se muestra una lista de casos de uso de Apache NiFi:

Industria Uso
Seguros
  • Análisis de riesgos y suscripción
  • Análisis de reclamaciones
  • Seguro basado en el uso
  • Desarrollo de nuevo producto
HealthCare
  • Vista única del paciente
  • Monitoreo de signos vitales en tiempo real
  • Optimización de RME
  • Optimización de la cadena de suministro
Telecomunicación
  • Vista única del cliente
  • Análisis de CDR
  • Asignación dinámica de ancho de banda
Elaboración
  • Mantenimiento preventivo
  • Optimización de la cadena de suministro
  • Control de calidad
Petróleo y Gas-Industria
  • Monitoreo en tiempo real
  • Vista única de la Operadesarrollo
  • Mantenimiento predictivo
  • Archive y análisis
  • Clasificación de datos no estructurados
Servicios Financieros
  • Anti lavado de dinero
  • Detección de fraude
  • Gestión de datos de riesgo

Mejores prácticas para ejecutar Apache NiFi

  • Ideal para separar entornos de prueba/desarrollo/producción en NiFi
  • Debes dividir tu flujo en grupos de procesos.
  • Utilice una convención de nomenclatura, utilice comentarios y etiquetas.
  • Organice sus proyectos en tres partes: ingesta, prueba y monitoreo
  • Utilice nombres únicos para la variable

Desventaja de Nifi

  • Necesita controles precisos de seguridad y cumplimiento
  • Necesita conocer muy bien el sistema subyacente mientras trabaja con Apache NiFi
  • Debe mantener la cadena de custodia de los datos.
  • El transporte y la mensajería pueden no ser suficientes
  • Las necesidades de acceso a datos superan los recursos disponibles para transportar
  • No todos los datos se crean por igual
  • La autorización SSL y a nivel de tema puede no ser suficiente

Resumen

  • Apache NiFi es un software de código abierto para automatizar y gestionar el flujo de datos entre sistemas.
  • NiFi está diseñado para escalar horizontalmente clusters que ofrecen entrega garantizada de datos
  • Nifi fue desarrollado en la NSA durante más de ocho años
  • Una vez que los datos se obtienen de fuentes externas, se representan como FlowFile dentro de Apache NiFi. architectura.
  • FlowFile, procesador, controlador, servidor web, conexión, contrapresión y repositorio son componentes importantes de NiFi architectura
  • El lenguaje de expresión NiFi es compatible con cualquier dispositivo que ejecute Java
  • Puede instalar NiFi fácilmente en AWS
  • NiFi se utiliza en diversas industrias, como la atención médica, los seguros, las telecomunicaciones, la manufactura, las finanzas, el petróleo y el gas, entre otras.
  • Como práctica recomendada, organice sus proyectos en tres partes: ingesta, prueba y monitoreo.