Introduzione a Kafka Tools
Kafka Tools è una raccolta di vari strumenti che consentono di gestire il nostro cluster Kafka. Gli strumenti sono principalmente basati sulla riga di comando, ma sono disponibili anche strumenti basati sull'interfaccia utente che possono essere scaricati e installati.
Possiamo usare gli strumenti di Kafka per eseguire varie operazioni come:
- Elencare i cluster Kafka disponibili e i loro broker, argomenti e consumatori.
- Può stampare i messaggi da vari argomenti nell'output standard. Gli strumenti basati sull'interfaccia utente possono sicuramente fornire una migliore leggibilità.
- Aggiungi e rilascia argomenti dai broker.
- Aggiungi nuovi messaggi nelle partizioni.
- Visualizza tutti gli offset dei nostri consumatori.
- Crea partizioni dei nostri argomenti.
- Elencare tutti i gruppi di consumatori, descrivere i gruppi di consumatori, eliminare le informazioni sul gruppo di consumatori e ripristinare gli offset dei gruppi di consumatori.
Se vogliamo usare uno strumento basato sull'interfaccia utente, possiamo usare lo strumento Kafka che può essere scaricato dalla seguente pagina Web:
http://www.kafkatool.com/download.html
Questa applicazione è disponibile gratuitamente per uso personale, ma è necessario acquistare una licenza per uso commerciale. La cosa positiva è la sua disponibilità per sistemi Mac, Windows e Linux.
I 3 migliori tipi di strumenti Kafka
Gli strumenti di Kafka sono classificati in Strumenti di sistema e Strumenti di applicazione.
1. Strumenti di sistema
Gli strumenti di sistema possono essere eseguiti utilizzando la seguente sintassi.
Sintassi:
bin/kafka-run-class.sh package.class - - options
Alcuni degli strumenti di sistema sono i seguenti:
- Kafka Migration Tool: questo strumento viene utilizzato per migrare Kafka Broker da una versione all'altra.
- Controllo offset consumatore: questo strumento può visualizzare Gruppo consumatore, Argomento, Partizioni, Offset, logSize, Proprietario per l'insieme specificato di Argomenti e Gruppo consumatore.
- Mirror Maker: questo strumento viene utilizzato per il mirroring di un cluster Kafka su un altro.
2. Strumenti di replica
Questi sono fondamentalmente strumenti di progettazione di alto livello forniti per durabilità e disponibilità.
Alcuni degli strumenti di replica sono:
- Strumento Crea argomento: questo strumento viene utilizzato per creare argomenti con il numero predefinito di partizioni e fattore di replica.
- Strumento Elenco argomenti: viene utilizzato per elencare le informazioni per un determinato elenco di argomenti. La cosa grandiosa di questo strumento è che se nessun argomento è già disponibile nella riga di comando, interrogherà lo Zookeeper per recuperare prima l'elenco degli Argomenti e quindi stampare le informazioni su di essi. Elenca vari campi come Nome argomento, Partizioni, Leader, Repliche, ecc.
- Aggiungi strumento di partizione: questo strumento viene utilizzato per aggiungere partizioni a un argomento necessario per gestire la crescita del volume di dati nell'argomento. Tuttavia, dobbiamo specificare le partizioni durante la creazione dell'argomento. Questo strumento ci consente di aggiungere repliche manuali per le partizioni aggiunte.
3. Strumenti vari
Ora discutiamo alcuni strumenti vari:
un. Strumento per argomenti di Kafka
Questo strumento viene utilizzato per creare, elencare, modificare e descrivere argomenti.
Esempio: Creazione argomento: bin/kafka-topics.sh --zookeeper zk_host:port/chroot --create --topic topic_name --partitions 30 --replication-factor 3 --config x=y
b. Kafka-Console-Consumer Tool
Questo strumento può essere utilizzato per leggere i dati dagli argomenti di Kafka e scriverli nell'output standard
Esempio: bin/kafka-console-consumer --zookeeper zk01.example.com:8080 --topic topic_name>/code>
c. Strumento produttore-console Kafka
Questo strumento può essere utilizzato per scrivere dati in un argomento Kafka dall'output standard.
Esempio: bin/kafka-console-producer --broker-list kafka03.example.com:9091 --topic topic_name
d. Strumento per gruppi di consumatori Kafka
Questo strumento può essere utilizzato per elencare tutti i gruppi di consumatori, descrivere un gruppo di consumatori, eliminare le informazioni sui gruppi di consumatori o ripristinare gli offset dei gruppi di consumatori. Questo strumento viene utilizzato principalmente per la descrizione dei gruppi di consumatori e il debug di eventuali problemi di offset dei consumatori.
Esempio: visualizzazione degli offset su un cluster non protetto: bin/kafka-consumer-groups --new-consumer --bootstrap-server broker01.example.com:9092 --describe --group group_name
Kafka Architecture
Vari componenti di Kafka Tools
I componenti principali di Kafka sono i seguenti:
1. Broker
Ogni nodo in un cluster Kafka è un broker che archivia i dati. In genere, ci sono più broker per bilanciare correttamente il carico. Un broker memorizza i messaggi sotto forma di argomenti a cui i produttori (per la scrittura) e i consumatori (per la lettura) possono accedervi. Gli argomenti vengono creati per separare i dati di un'applicazione da quelli di un'altra. Poiché i broker sono apolidi, hanno bisogno dell'aiuto di Zookeeper per mantenere il loro stato di cluster. Un broker può gestire TB di messaggi senza alcun impatto sulle prestazioni. L'elezione del leader del broker Kafka viene effettuata dallo Zookeeper.
2. Produttore
È l'unità che inserisce i messaggi nei broker. Possono esserci più produttori che generano dati a una velocità molto elevata e indipendentemente l'uno dall'altro. I produttori non ricevono un riconoscimento dai broker e inviano i dati a una velocità che può essere gestita dai broker. Sono in grado di cercare broker e iniziare a inviare messaggi non appena iniziano i broker. Il produttore è responsabile della scelta del messaggio da assegnare a quale partizione all'interno dell'argomento. Questo può essere fatto in modo round robin semplicemente per bilanciare il carico o può essere fatto secondo una funzione di partizione semantica (diciamo in base a qualche chiave nel messaggio).
3. Zookeeper
È l'unità che gestisce e coordina i broker. Il guardiano dello zoo avvisa un produttore o un consumatore in caso di aggiunta o fallimento di un broker. Ogni broker invia richieste heartbeat allo zookeeper a intervalli regolari purché sia attivo. Lo zookeeper mantiene anche informazioni sugli argomenti e sulle compensazioni dei consumatori.
4. Consumatore
È l'unità che legge i messaggi dagli argomenti. Un consumatore può iscriversi e leggere da più di un argomento. Un consumatore può lavorare in parallelo con altri consumatori (in questo caso ogni partizione verrà letta da un solo consumatore) formando un gruppo di consumatori. Non funziona in sincronia con i produttori. Il consumatore deve mantenere il numero di messaggi letti utilizzando l'offset della partizione. Se un consumatore accetta un determinato offset della partizione, implica che ha già consumato i messaggi precedenti nella partizione.
Conclusione
In questo articolo, abbiamo imparato come utilizzare vari strumenti Kafka per gestire efficacemente il nostro cluster Kafka. Abbiamo anche appreso i vari componenti dell'ecosistema Kafka e come interagiscono tra loro.
Articoli consigliati
Questa è una guida agli strumenti di Kafka. Qui discutiamo i tipi di strumenti di Kafka, i vari componenti di Kafka e l'architettura di Kafka. Puoi anche leggere il seguente articolo per saperne di più -
- Le migliori applicazioni Kafka
- Spiegazione dell'architettura dei Big Data
- I migliori strumenti per la scienza dei dati
- Differenze tra Kafka vs Spark