Inleiding tot Kafka Tools
Kafka Tools is een verzameling van verschillende tools waarmee we onze Kafka-cluster kunnen beheren. De tools zijn meestal op de opdrachtregel gebaseerd, maar UI-gebaseerde tools zijn ook beschikbaar die kunnen worden gedownload en geïnstalleerd.
We kunnen Kafka-tools gebruiken voor het uitvoeren van verschillende bewerkingen, zoals:
- Maak een lijst van de beschikbare Kafka-clusters en hun makelaars, onderwerpen en consumenten.
- Kan de berichten van verschillende onderwerpen in de standaarduitvoer afdrukken. De op de UI gebaseerde tools kunnen absoluut een betere leesbaarheid bieden.
- Onderwerpen toevoegen en neerzetten van de makelaars.
- Voeg nieuwe berichten toe aan de partities.
- Bekijk alle offsets van onze consumenten.
- Maak partities van onze onderwerpen.
- Maak een lijst van alle consumentengroepen, beschrijf de consumentengroepen, verwijder de informatie van de consumentengroep en reset offsets van de consumentengroep.
Als we een UI-tool willen gebruiken, kunnen we Kafka Tool gebruiken die kan worden gedownload van de volgende webpagina:
http://www.kafkatool.com/download.html
Deze applicatie is gratis beschikbaar voor persoonlijk gebruik, maar we moeten een licentie kopen voor commercieel gebruik. Het goede eraan is dat het beschikbaar is voor Mac-, Windows- en Linux-systemen.
Top 3 soorten Kafka-gereedschappen
Kafka-tools zijn onderverdeeld in systeemtools en applicatie-tools.
1. Systeemwerkset
De systeemtools kunnen worden uitgevoerd met behulp van de volgende syntaxis.
Syntaxis:
bin/kafka-run-class.sh package.class - - options
Enkele van de systeemtools zijn:
- Kafka Migration Tool: deze tool wordt gebruikt voor het migreren van Kafka Broker van de ene versie naar de andere.
- Consumer Offset Checker: deze tool kan Consumer Group, Topic, Partitions, Offset, logSize, Owner voor de gespecificeerde set Topics en Consumer Group weergeven.
- Mirror Maker: deze tool wordt gebruikt om de ene Kafka-cluster naar de andere te spiegelen.
2. Replicatiehulpmiddelen
Dit zijn in wezen hoogwaardige ontwerptools voor duurzaamheid en beschikbaarheid.
Enkele van de replicatiehulpmiddelen zijn:
- Create Topic Tool: Deze tool wordt gebruikt voor het maken van onderwerpen met het standaard aantal partities en replicatiefactor.
- List Topic Tool: dit wordt gebruikt om de informatie voor een gegeven lijst met onderwerpen weer te geven. Het mooie van deze tool is dat als er nog geen onderwerp beschikbaar is op de opdrachtregel, het de Zookeeper zal vragen om eerst de lijst met onderwerpen op te halen en vervolgens de informatie hierover af te drukken. Het geeft verschillende velden weer, zoals Onderwerpnaam, Partities, Leider, Replica's, enz.
- Partitie-tool toevoegen: deze tool wordt gebruikt om partities toe te voegen aan een onderwerp dat nodig is om de groei van het datavolume in het onderwerp aan te kunnen. Maar houd er rekening mee dat we de partities moeten opgeven tijdens het maken van het onderwerp. Met deze tool kunnen we handmatige replica's toevoegen voor de toegevoegde partities.
3. Diverse hulpmiddelen
Laten we nu enkele verschillende hulpmiddelen bespreken:
een. Kafka-Topics Tool
Deze tool wordt gebruikt om onderwerpen te maken, op te lijsten, te wijzigen en te beschrijven.
Voorbeeld: Onderwerp maken: bin/kafka-topics.sh --zookeeper zk_host:port/chroot --create --topic topic_name --partitions 30 --replication-factor 3 --config x=y
b. Kafka-console-consumententool
Deze tool kan worden gebruikt om gegevens van Kafka-onderwerpen te lezen en naar standaarduitvoer te schrijven
Voorbeeld: bin/kafka-console-consumer --zookeeper zk01.example.com:8080 --topic topic_name>/code>
c. Kafka-console-producent Tool
Deze tool kan worden gebruikt om gegevens van een standaarduitvoer naar een Kafka-onderwerp te schrijven.
Voorbeeld: bin/kafka-console-producer --broker-list kafka03.example.com:9091 --topic topic_name
d. Kafka-consumentengroepen-tool
Deze tool kan worden gebruikt om alle consumentengroepen weer te geven, een consumentengroep te beschrijven, info over consumentengroepen te verwijderen of offsets van consumentengroepen te resetten. Deze tool wordt voornamelijk gebruikt voor het beschrijven van consumentengroepen en het oplossen van problemen met consumentencompensatie.
Voorbeeld: Offsets bekijken op een onbeveiligd cluster: bin/kafka-consumer-groups --new-consumer --bootstrap-server broker01.example.com:9092 --describe --group group_name
Kafka-architectuur
Verschillende componenten van Kafka Tools
De belangrijkste componenten van Kafka zijn als volgt:
1. Makelaar
Elk knooppunt in een Kafka-cluster is een makelaar die de gegevens opslaat. Doorgaans zijn er meerdere makelaars om de belasting goed te verdelen. Een makelaar slaat berichten op in de vorm van onderwerpen die toegankelijk zijn voor producenten (om te schrijven) en consumenten (om te lezen). Onderwerpen worden gemaakt om de gegevens van de ene applicatie te scheiden van die van een andere. Omdat makelaars staatloos zijn, hebben ze de hulp van Zookeeper nodig om hun clusterstatus te behouden. Eén makelaar kan TB's met berichten verwerken zonder enige invloed op de prestaties. Kafka makelaar leider verkiezing wordt gedaan door de Zookeeper.
2. Producent
Het is de eenheid die berichten naar de makelaars duwt. Er kunnen meerdere producenten zijn die gegevens met een zeer hoge snelheid en onafhankelijk van elkaar genereren. De producenten ontvangen geen erkenning van de makelaars en verzenden gegevens met een snelheid die door de makelaars kan worden verwerkt. Ze zijn in staat om makelaars te zoeken en berichten te verzenden zodra de makelaars beginnen. De producent is verantwoordelijk voor het kiezen van welk bericht aan welke partitie binnen het onderwerp moet worden toegewezen. Dit kan op een round robin-manier worden gedaan om de belasting in evenwicht te houden of het kan worden gedaan volgens een semantische partitiefunctie (bijvoorbeeld op basis van een sleutel in het bericht).
3. Zookeeper
Het is de eenheid die de makelaars beheert en coördineert. De dierenverzorger waarschuwt een producent of een consument in geval van toevoeging of falen van een makelaar. Elke makelaar stuurt op regelmatige tijdstippen hartslagverzoeken naar de dierenverzorger zolang deze in leven is. De dierenverzorger houdt ook informatie bij over de onderwerpen en consumentencompensaties.
4. Consument
Het is de eenheid die de berichten van de onderwerpen leest. Een consument kan zich abonneren op en lezen van meer dan één onderwerp. Een consument kan parallel werken met andere consumenten (in dit geval wordt elke partitie door slechts één consument gelezen) die een consumentengroep vormt. Het werkt niet synchroon met de producenten. De consument moet bijhouden hoeveel berichten hij heeft gelezen met behulp van partitie-offset. Als een consument een bepaalde partitie-offset accepteert, betekent dit dat de eerdere berichten in de partitie al zijn verbruikt.
Conclusie
In dit artikel hebben we geleerd hoe we verschillende Kafka-tools kunnen gebruiken om onze Kafka-cluster effectief te beheren. We hebben ook geleerd over de verschillende componenten van het Kafka Ecosysteem en hoe ze met elkaar omgaan.
Aanbevolen artikelen
Dit is een gids voor Kafka-tools. Hier bespreken we de soorten Kafka-hulpmiddelen, verschillende componenten van Kafka samen met Kafka-architectuur. U kunt ook het volgende artikel bekijken voor meer informatie -
- Top Kafka-toepassingen
- Verklaring van Big Data Architecture
- Top Data Science Tools
- Verschillen tussen Kafka en Spark