Casa Finanza personale Registra i dati con Flume in HDFS - dummies

Registra i dati con Flume in HDFS - dummies

Video: Barbara Block: Tagging tuna in the deep ocean 2025

Video: Barbara Block: Tagging tuna in the deep ocean 2025
Anonim

Alcuni dei dati che finiscono nel file system distribuito Hadoop (HDFS) potrebbero atterrare lì tramite operazioni di caricamento del database o altri tipi di processi batch, ma cosa se si desidera acquisire i dati che fluiscono nei flussi di dati ad alta velocità, come i dati del registro delle applicazioni? Apache Flume è l'attuale modo standard per farlo in modo facile, efficiente e sicuro.

Apache Flume , un altro progetto di livello superiore di Apache Software Foundation, è un sistema distribuito per aggregare e spostare grandi quantità di dati di streaming da fonti diverse in un archivio dati centralizzato.

In altre parole, Flume è progettato per la continua ingestione di dati in HDFS. I dati possono essere qualsiasi tipo di dati, ma Flume è particolarmente adatto alla gestione dei dati di registro, come i dati di registro dai server web. Unità dei dati che i processi Flume sono chiamati eventi ; un esempio di un evento è un record di registro.

Per capire come Flume funziona all'interno di un cluster Hadoop, è necessario sapere che Flume viene eseguito come uno o più agenti e che ogni agente ha tre componenti collegabili: origini, canali e sink:

  • Le fonti recuperano i dati e li inviano ai canali.

  • I canali contengono code di dati e fungono da conduttori tra sorgenti e sink, il che è utile quando la portata del flusso in entrata supera la portata in uscita.

  • I sink elaborano i dati prelevati dai canali e li consegnano a una destinazione, come HDFS.

Un agente deve avere almeno uno di ciascun componente da eseguire e ogni agente è contenuto all'interno della propria istanza di Java Virtual Machine (JVM).

Un evento che viene scritto su un canale da un'origine non viene rimosso da quel canale finché un sink non lo rimuove tramite una transazione. Se si verifica un errore di rete, i canali mantengono in coda gli eventi finché i sink non possono scriverli nel cluster. Un canale in memoria può elaborare rapidamente gli eventi, ma è volatile e non può essere ripristinato, mentre un canale basato su file offre persistenza e può essere ripristinato in caso di errore.

Ogni agente può avere diverse fonti, canali e sink e sebbene una fonte possa scrivere su molti canali, un sink può ricevere dati da un solo canale.

Un agente è solo una JVM che sta eseguendo Flume, e i sink per ciascun nodo agente nel cluster Hadoop inviano dati a nodi di raccolta , che aggregano i dati di molti agenti prima scrivendolo su HDFS, dove può essere analizzato da altri strumenti di Hadoop.

Gli agenti possono essere concatenati insieme in modo che il sink di un agente invii i dati all'origine da un altro agente.Avro, il framework di chiamata e serializzazione remota di Apache, è il solito modo di inviare i dati su una rete con Flume, poiché funge da utile strumento per l'efficiente serializzazione o trasformazione dei dati in un formato binario compatto.

Nel contesto di Flume, la compatibilità è importante: un evento Avro richiede una fonte Avro, ad esempio, e un sink deve fornire eventi appropriati per la destinazione.

Ciò che rende questa grande catena di fonti, canali e sink funziona è la configurazione dell'agente Flume, che è memorizzata in un file di testo locale strutturato come un file di proprietà Java. È possibile configurare più agenti nello stesso file. Guarda un file di esempio, che si chiama flume-agent. conf: è impostato per configurare un agente denominato shaman:

# Identifica i componenti su shaman agent: shaman. fonti = sciamano netcat_s1. sinks = hdfs_w1 shaman. channels = in-mem_c1 # Configura la sorgente: shaman. fonti. netcat_s1. type = shacnet netcat. fonti. netcat_s1. bind = localhost shaman. fonti. netcat_s1. port = 44444 # Descrivi il sink: shaman. lavandini. hdfs_w1. type = hdfs shaman. lavandini. hdfs_w1. HDFS. percorso = hdfs: // sciamano. lavandini. hdfs_w1. HDFS. writeFormat = Text shaman. lavandini. hdfs_w1. HDFS. fileType = DataStream # Configura un canale che memorizza gli eventi in memoria: shaman. canali. in-mem_c1. type = memory shaman. canali. in-mem_c1. capacità = 20000 sciamani. canali. in-mem_c1. transactionCapacity = 100 # Bind l'origine e il sink al canale: shaman. fonti. netcat_s1. channels = in-mem_c1 shaman. lavandini. hdfs_w1. channels = in-mem_c1

Il file di configurazione include proprietà per ogni sorgente, canale e sink nell'agente e specifica come sono connessi. In questo esempio, agent shaman ha una fonte che ascolta i dati (messaggi a netcat) sulla porta 44444, un canale che memorizza i dati degli eventi in memoria e un sink che registra i dati degli eventi nella console.

Questo file di configurazione potrebbe essere stato utilizzato per definire diversi agenti; qui, ne stai configurando solo uno per mantenere le cose semplici.

Per avviare l'agente, utilizzare uno script di shell chiamato flume-ng, che si trova nella directory bin della distribuzione Flume. Dalla riga comandi, immettere il comando agent, specificando il percorso del file di configurazione e il nome dell'agent.

Il seguente comando di esempio avvia l'agente Flume:

agente flume-ng -f / -n shaman

Il registro dell'agente Flume deve contenere voci che verificano che l'origine, il canale e il sink siano stati avviati correttamente.

Per testare ulteriormente la configurazione, è possibile telnet alla porta 44444 da un altro terminale e inviare Flume a un evento immettendo una stringa di testo arbitraria. Se tutto va bene, il terminale Flume originale emetterà l'evento in un messaggio di log che dovresti essere in grado di vedere nel log dell'agente.

Registra i dati con Flume in HDFS - dummies

Scelta dell'editore

Il programma in cinque passaggi per superare la menopausa - dummy

Il programma in cinque passaggi per superare la menopausa - dummy

Alcune donne capiscono a malapena che la menopausa è loro. Altre donne, tuttavia, sono meno fortunate. Se sei uno di questi, prendi in mano questi pochi modi per rendere la tua esperienza più facile per te stesso: capisci e accetta che stai attraversando una transizione naturale, proprio come la pubertà. Fortunatamente, sei più vecchio e più saggio di te ...

Menopausa For Dummies Cheat Sheet (edizione UK) - dummies

Menopausa For Dummies Cheat Sheet (edizione UK) - dummies

Menopausa segna la fine della fase riproduttiva della tua vita e così è un momento significativo di cambiamento fisico, emotivo e mentale per molte donne ma, per generazioni, donne di tutte le età hanno vagato alla cieca in menopausa senza sapere cosa aspettarsi. Qui puoi scoprire alcune delle nozioni di base.

Perimenopausa: facilitare la transizione dalle mestruazioni alla menopausa - manichini

Perimenopausa: facilitare la transizione dalle mestruazioni alla menopausa - manichini

Mestruazioni e menopausa sono ben noti biologici pietre miliari nella vita di una femmina. Contrariamente al pensiero popolare, la menopausa non è il periodo di mesi o anni in cui una donna sta "attraversando il cambiamento". "Questo lasso di tempo è chiamato perimenopausa. La menopausa è una data effettiva nel tempo. In particolare, è il 12 ° anniversario dell'ultimo ciclo mestruale di una donna. ...

Scelta dell'editore

Come utilizzare il filtro automatico personalizzato su una tabella di Excel - dummies

Come utilizzare il filtro automatico personalizzato su una tabella di Excel - dummies

È Possibile creare un filtro automatico personalizzato . Per fare ciò, seleziona il comando Filtro testo dal menu della tabella e scegli una delle opzioni di filtro del testo. Indipendentemente dall'opzione di filtro del testo selezionata, Excel visualizza la finestra di dialogo Filtro automatico personalizzato. Questa finestra di dialogo consente di specificare con estrema precisione quali record si desidera ...

Come utilizzare la funzione DPRODUCT in un database Excel - dummies

Come utilizzare la funzione DPRODUCT in un database Excel - dummies

DPRODUCT moltiplica i valori che corrispondono al criterio in un database Excel. Questo è potente ma anche in grado di produrre risultati che non sono l'intenzione. In altre parole, è una cosa da aggiungere e ricavare una somma. Questa è un'operazione comune su un set di dati. Osservando la seguente figura, è possibile ...

Come utilizzare la funzione DPRODUCT in Excel - dummy

Come utilizzare la funzione DPRODUCT in Excel - dummy

La funzione DPRODUCT in Excel è strana. La funzione DPRODUCT moltiplica i valori nei campi da un elenco di database in base ai criteri di selezione. Perché vorresti farlo? Chissà. La funzione utilizza la sintassi = DPRODUCT (database, campo, criteri) in cui il database è un riferimento all'intervallo alla tabella di Excel che contiene il valore desiderato ...

Scelta dell'editore

Programmazione con Java: riutilizzo dei nomi nella tua app per Android - dummies

Programmazione con Java: riutilizzo dei nomi nella tua app per Android - dummies

Ci sono un paio di cose a cui vuoi pensare quando riutilizzi i nomi nella tua app per Android. È possibile dichiarare due variabili Java - bag1 e bag2 - per fare riferimento a due diversi oggetti BagOfCheese. Va bene. Ma a volte, avere solo una variabile e riutilizzarla per il secondo oggetto funziona altrettanto bene, ...

Java: Mettere a frutto l'uso della classe - dummies

Java: Mettere a frutto l'uso della classe - dummies

La classe Employee nell'elenco non ha alcun metodo principale , quindi non c'è un punto di partenza per l'esecuzione del codice. Per risolvere questo problema, il programmatore scrive un programma separato con un metodo principale e utilizza tale programma per creare istanze Employee. Questo elenco di codici mostra una classe con un metodo principale - uno che inserisce il ...

Classi wrapper java - dummies

Classi wrapper java - dummies

La differenza tra tipi primitivi e tipi di riferimento è una delle funzionalità più controverse di Java e gli sviluppatori si lamentano spesso sulle differenze tra valori primitivi e valori di riferimento. Ogni tipo primitivo viene cotto nella lingua. Java ha otto tipi primitivi. Ogni tipo di riferimento è una classe o un'interfaccia. È possibile definire il proprio ...