Principe de fonctionnement du canal

7 0 0 0

Cet article décrit le principe de fonctionnement de Flume. Veuillez trouver plus d'informations ci-dessous.

Comment fonctionne Flume

L'architecture de haut niveau de Flume est construite sur une base de code simplifiée, facile à utiliser et à étendre. Le projet est très fiable, sans risque de perte de données.

Flume prend également en charge la reconfiguration dynamique sans nécessiter de redémarrage, ce qui réduit les temps d'arrêt de ses agents.

Les composants suivants constituent Apache Flume:

Composant

Définition

un événement

Une unité de données unique transportée par Flume (généralement une seule entrée de journal)

La source

Entité par laquelle les données entrent dans Flume. Les sources recherchent activement des données ou attendent passivement que les données leur soient livrées. Diverses sources permettent de collecter des données, telles que les journaux log4j et les syslogs.

Évier

L'entité qui fournit les données à la destination. Une variété de puits permet aux données d'être diffusées vers une gamme de destinations. Un exemple est le récepteur HDFS qui écrit les événements sur HDFS.

Canal

Le conduit entre la source et le lavabo. Les sources ingèrent des événements dans le canal et les puits drainent le canal.

Agent

Toute machine virtuelle Java physique exécutant Flume. C'est un ensemble de sources, de puits et de canaux.

Client

L'entité qui produit et transmet l'événement à la source opérant dans l'agent.


Les composants Flume interagissent de la manière suivante:

1. un flux dans Flume commence à partir du client;

2. le client transmet l'événement à une source opérant dans l'agent;

3. La source qui reçoit cet événement le transmet ensuite à un ou plusieurs canaux.

4. Un ou plusieurs éviers opérant dans le même agent draine ces canaux;

5. Les canaux permettent de dissocier le taux d'ingestion du taux de drainage en utilisant le modèle habituel producteur / consommateur d'échange de données;

6. Lorsque les pics d'activité du côté client entraînent une génération des données plus rapide que celle que la capacité de destination fournie peut gérer, la taille du canal augmente. Cela permet aux sources de continuer à fonctionner normalement pendant toute la durée de la pointe.

7. L’ évier d’un agent peut être relié à la source d’un autre agent. Ce chaînage permet la création de topologies de flux de données complexes.


L'architecture distribuée de Flume ne nécessite aucun point de coordination central. Chaque agent s'exécute indépendamment des autres, sans point de défaillance unique inhérent et peut facilement évoluer horizontalement.


La structure du canal


1. La structure externe de Flume:


Structure du canal


Comme le montre la figure ci-dessus, les données générées par le générateur de données (par exemple, facebook, twitter) sont collectées par un agent unique s'exécutant sur le serveur sur lequel se trouve le générateur de données, après quoi le conteneur de données collecte les données de chaque agent et les collecte. . Les données sont stockées dans HDFS ou HBase .


2 Événement Flume


L'événement constitue l'unité la plus élémentaire du transfert de données interne de Flume. Il s'agit d'un tableau d'octets de données retransmises (l'ensemble de données est transmis du point d'accès à la source de données et transmis à l'émetteur, c'est-à-dire HDFS / HBase) et une composition Choose the head.


Un événement Flume typique est présenté dans la structure suivante:


Événement Flume


Par exemple, lorsque nous allons personnaliser le plug-in en privé: le plug-in flume-hbase-sink consiste à extraire l'événement, puis à l'analyser, puis à le filtrer en fonction de la situation, puis à le transférer vers HBase ou HDFS.


3 Agent de flume


Après avoir compris la structure externe de Flume, nous savons qu’il contient un ou plusieurs agents. Cependant, pour chaque agent, il s'agit d'un démon distinct (JVM), qui reçoit des collections du client ou d'autres agents. Où recevoir, puis transférez rapidement les données acquises vers le prochain collecteur de noeud de destination, ou agent. Le modèle de base de Flume comme indiqué ci-dessous:


Agent de flume


L'agent est principalement composé de trois composants: source, canal et collecteur.


La source


Recevez des données du générateur de données et transmettez les données reçues à un ou plusieurs canaux au format d'événement de Flume. Flume offre plusieurs façons de recevoir des données, telles que Avro, Thrift, twitter1%, etc.


Canal

Channel est un conteneur de stockage à durée de vie courte qui met en cache les données dans le format d'événement reçu de la source jusqu'à ce qu'elles soient consommées par les puits. Il agit comme un pont entre la source et l’évier. Channel est une transaction complète. Cela garantit la cohérence des données lors de leur envoi et de leur réception. Et il peut être lié à un nombre quelconque de sources et de puits. Les types pris en charge sont les suivants: canal JDBC, canal du système de fichiers, canal Memort, etc.


Évier

Le récepteur stocke les données dans un stockage centralisé tel que Hbase et HDFS, qui consomme les événements des canaux et les transmet à la destination. La destination peut être un autre puits ou HDFS, HBase.


Un exemple de sa combinaison:

Évier

Évier 1



  • x
  • Standard:

Commentaire

envoyer
Connectez-vous pour répondre. Se connecter | Enregistrer

Remarque Remarque : Afin de protéger vos droits et intérêts légitimes, ceux de la communauté et des tiers, ne divulguez aucun contenu qui pourrait présenter des risques juridiques pour toutes les parties. Le contenu interdit comprend, sans toutefois s'y limiter, le contenu politiquement sensible, le contenu lié à la pornographie, aux jeux d'argent, à l'abus et au trafic de drogues, le contenu qui peut divulguer ou enfreindre la propriété intellectuelle d'autrui, y compris les secrets professionnels, les marques commerciales, les droits d'auteur et les brevets, ainsi que la vie privée personnelle. Ne partagez pas votre nom d'utilisateur ou votre mot de passe avec d'autres personnes. Toutes les opérations effectuées à partir de votre compte seront considérées comme vos propres actions, et toutes les conséquences en découlant vous seront imputées. Pour plus de détails, voir « Politique de confidentialité ».
Si le bouton de la pièce-jointe n'est pas disponible, mettez à jour Adobe Flash Player à la dernière version.
Connectez-vous pour participer à la communication et au partage

Connectez-vous pour participer à la communication et au partage

S'identifier