Tutoriel Apache NiFi : Qu'est-ce que NiFi ? Archiconception et installation
Résumé du didacticiel Apache NiFi
Ce didacticiel Apache NiFi couvre tous les sujets de base à avancés à partir de zéro. Vous apprendrez les concepts tels que la définition NiFi, l'historique, l'architecture, les fonctionnalités, le processus d'installation, les cas d'utilisation. Vous apprendrez également pourquoi vous devez utiliser Apache NiFi et les meilleures pratiques d'exécution d'Apache NiFi.
Qu’est-ce qu’Apache NiFi ?
Apache NiFi est un logiciel open source permettant d'automatiser et de gérer le flux de données entre les systèmes. Il s'agit d'un système puissant et fiable pour traiter et distribuer des données. Il fournit une interface utilisateur Web pour créer, surveiller et contrôler les flux de données. Il dispose d'un processus de flux de données hautement configurable et modifiable pour modifier les données au moment de l'exécution.
Apache NiFi est facilement extensible grâce au développement de composants personnalisés.
Pourquoi utiliser Apache NIfi ?
Voici les raisons d’utiliser Apache Nifi :
- Vous permet d'effectuer une ingestion de données pour extraire des données dans NiFi, à partir de nombreuses sources de données et créer des fichiers de flux
- Il offre un contrôle en temps réel qui vous aide à gérer le mouvement des données entre n'importe quelle source et destination.
- Visualisez DataFlow au niveau de l'entreprise
- Fournir des outils et des extensions communs
- Vous permet de profiter des bibliothèques existantes et Java fonctionnalité de l'écosystème
- Aide les organisations à intégrer Nifi à leur infrastructure existante
- NiFi est conçu pour évoluer en clusters qui offrent une livraison garantie des données
- Visualisez et surveillez les performances et le comportement dans un bulletin de flux qui offre des informations et une documentation en ligne.
- Vous aide à démarrer et arrêter les composants séparément ou au niveau du groupe
- Il vous aide à écouter, récupérer, diviser, agréger, acheminer, transformer et glisser-déposer Dataflow
Histoire d’Apache NiFi
- Développé à la NSA depuis plus de huit ans
- 2014- Il a été donné au logiciel Apache Foundation
- 2015 - NiFi est devenu un élément officiel d'Apache Project Suite
- Depuis, toutes les 6 à 8 semaines, Apache NiFi publie une nouvelle mise à jour
sauf si Architecture
Apache NiFi a une architecture bien pensée. Une fois les données récupérées à partir de sources externes, elles sont représentées sous forme de FlowFile dans l'architecture Apache NiFi.
Voici les composants clés de l'architecture NiFi
Composant Nifi | Description |
---|---|
Fichier de flux | FlowFile est constitué de données originales auxquelles sont attachées des méta-informations. Il vous permet de traiter non seulement des données CSV ou autres données basées sur des enregistrements, mais également des images, des vidéos, de l'audio ou toute autre donnée binaire. |
Processeur Flowfile | Effectue le travail qui agit comme un élément constitutif du flux de données dans NiFi. |
Contrôleur de débit | Conserve une trace de la façon dont les processus sont connectés. Il gère les threads et leurs allocations que tous les processus utilisent. |
Web Server | Le serveur Web héberge les commandes et l'API basées sur HTTP de NiFi. |
Extension | Il existe de nombreux types d'extensions NiFi qui fonctionnent et s'exécutent au sein de la JVM. |
La connexion | Agit comme un lien entre les processeurs qui contiennent une file d’attente et les relations qui affectent l’endroit où les données sont acheminées. |
Contre-pression | Empêchez le système d'être saturé en contrôlant la quantité ou la taille des données des fichiers de flux qui peuvent être stockés dans la file d'attente. |
Groupe de processus | Un groupe de processus est un ensemble de processus et de leurs connexions, qui reçoivent et envoient des données à l'aide de ports. |
Référentiel Flowfile | Dans le référentiel FlowFile, NiFi garde une trace de l'état des détails dont il dispose sur un FlowFile donné qui est actif dans le flux. |
Référentiel de contenu | Le référentiel de contenu est une zone dans laquelle existent les octets de contenu réels d'un FlowFile donné. |
Référentiel de provenance | Le référentiel de provenance est une zone où toutes les données sur les événements de provenance sont collectées. |
Fonctionnalités Apache NiFi
- NiFi prend en charge la mise en mémoire tampon de toutes les données en file d'attente et offre une capacité de contre-pression car ces files d'attente peuvent atteindre des limites spécifiées.
- NiFi permet de définir un ou plusieurs schémas de priorisation
- Fournit des processeurs de connexion pour de nombreuses sources de données
- Prend en charge tout appareil qui fonctionne Java
- Idéal pour les endroits à connectivité limitée
- Prise en charge du dépannage et de l'optimisation des flux
- Offre une authentification/autorisation basée sur les rôles
- Permet le téléchargement, la récupération et la relecture de fichiers individuels
- Créez vos processeurs, vos services de contrôleur et bien plus encore
- Assurer le cryptage du contenu et la communication via des protocoles sécurisés
- Permet un développement rapide et des tests efficaces
- Permet le développement de composants simples à fonction unique qui peuvent être réutilisés et combinés pour créer des flux plus complexes
- Permet l'isolation du chargeur de classe pour une gestion plus facile des dépendances
Comment installer Apache NiFi
Vous trouverez ci-dessous un processus étape par étape pour l'installation d'Apache NiFi.
Étape 1) Cliquez sur le lien,
et cliquez sur "Continuer à vous abonner"
Étape 2) Sur la page suivante,
Cliquez sur « Accepter les conditions »
Étape 3) Vous verrez cette page,
Merci de vous être abonné à ce produit ! Nous traitons votre demande.
Étape 4) Actualisez la page après 5 minutes.
Cliquez sur « Continuer vers la configuration »
Étape 5) Sur la page suivante,
Conservez les paramètres par défaut et cliquez sur « Continuer le lancement »
Étape 6) Sur la page suivante,
Cliquez sur Lancer. Vous devrez peut-être créer une clé
Étape 7) Vous verrez ce message de réussite.
Toutes nos félicitations! Une instance de ce logiciel est déployée avec succès sur EC2 !
Étape 8) Remarque,
L'identifiant de l'instance et le DNS public de l'instance EC2
Étape 9) Dans le groupe de sécurité,
Ajouter toutes les règles de trafic aux entrées et sorties
Étape 10) Pour accéder à Nifi,
utilisez simplement l'URL
http://publicdns:8080/nifi
Dans notre cas, cela devient
http://ec2-100-26-156-57.compute-1.amazonaws.com:8080/nifi/
Utilisateur: admin
Mot de Passe: ID d'instance
Étape 11) Tu verras,
Écran d'accueil NiFi
Cas d'utilisation de Nifi
Vous trouverez ci-dessous une liste de cas d'utilisation d'Apache NiFi :
Industrie | Utilisation |
---|---|
Assurance |
|
Soins de santé |
|
Télécommunication |
|
Fabrication |
|
Pétrole et Gaz - Industrie |
|
Services financiers |
|
Meilleures pratiques Exécuter Apache NiFi
- Idéal pour séparer les environnements de test/développement/production dans NiFi
- Vous devez diviser votre flux en groupes de processus
- Utilisez une convention de dénomination, utilisez des commentaires et des étiquettes
- Organisez vos projets en trois parties : ingestion, test et suivi
- Utiliser des noms uniques pour les variables
Inconvénient de Nifi
- Besoin de contrôles précis de sécurité et de conformité
- Vous devez très bien connaître le système sous-jacent lorsque vous travaillez avec Apache NiFi
- Doit maintenir une chaîne de traçabilité pour les données
- Le transport/la messagerie pourrait ne pas suffire
- Les besoins en accès aux données dépassent les ressources disponibles pour le transport
- Toutes les données ne sont pas créées de la même manière
- L'autorisation SSL et au niveau du sujet peut ne pas être suffisante
Résumé
- Apache NiFi est un logiciel open source pour automatiser et gérer le flux de données entre les systèmes
- NiFi est conçu pour évoluer en clusters qui offrent une livraison garantie des données
- Nifi a été développé à la NSA pendant plus de huit ans
- Une fois les données récupérées à partir de sources externes, elles sont représentées sous forme de FlowFile dans l'architecture Apache NiFi.
- FlowFile, processeur, contrôleur, serveur Web, connexion, contre-pression, référentiel sont des composants importants de l'architecture NiFi
- Le langage d'expression NiFi prend en charge tout appareil qui exécute Java
- Vous pouvez facilement installer NiFi sur AWS
- Le NiFi est utilisé dans divers secteurs tels que la santé, les assurances, les télécommunications, la fabrication, la finance, le pétrole et le gaz, entre autres.
- Il est recommandé d'organiser vos projets en trois parties : ingestion, test et surveillance.