Introduktion till Kafka Tools
Kafka Tools är en samling olika verktyg som vi kan hantera vår Kafka Cluster. Verktygen är mestadels kommandoradsbaserade, men UI-baserade verktyg finns också tillgängliga som kan laddas ner och installeras.
Vi kan använda Kafka-verktyg för att utföra olika operationer som:
- Lista de tillgängliga Kafka Clusters och deras mäklare, ämnen och konsumenter.
- Kan skriva ut meddelanden från olika ämnen i standardutgången. De UI-baserade verktygen kan definitivt ge bättre läsbarhet.
- Lägg till och släpp ämnen från mäklarna.
- Lägg till nya meddelanden i partitionerna.
- Se alla kompensationer för våra konsumenter.
- Skapa partitioner av våra ämnen.
- Lista alla konsumentgrupper, beskriv konsumentgrupperna, radera konsumentgruppinfo och återställ konsumentgruppsförskjutningar.
Om vi vill använda ett UI-baserat verktyg kan vi använda Kafka Tool som kan laddas ner från följande webbsida:
http://www.kafkatool.com/download.html
Denna applikation är gratis tillgänglig för personligt bruk, men vi måste köpa en licens för kommersiellt bruk. Det goda med det är dess tillgänglighet för Mac, Windows och Linux-system.
Topp 3 typer av Kafka-verktyg
Kafka-verktyg kategoriseras i systemverktyg och applikationsverktyg.
1. Systemverktyg
Systemverktygen kan köras med följande syntax.
Syntax:
bin/kafka-run-class.sh package.class - - options
Några av systemverktygen är följande:
- Kafka Migration Tool: Det här verktyget används för att migrera Kafka Broker från en version till en annan.
- Consumer Offset Checker: Detta verktyg kan visa konsumentgrupp, ämne, partitioner, off-set, logSize, ägare för den angivna uppsättningen av ämnen och konsumentgrupp.
- Mirror Maker: Det här verktyget används för att spegla en Kafka Cluster till en annan.
2. Replikeringsverktyg
Dessa är i grund och botten konstruktionsverktyg på hög nivå som ges för hållbarhet och tillgänglighet.
Några av replikeringsverktygen är:
- Skapa ämneverktyg: Detta verktyg används för att skapa ämnen med standardantalet partitioner och replikeringsfaktor.
- Lista ämnet verktyg: Detta används för att lista informationen för en given lista med ämnen. Det fantastiska med det här verktyget är att om inget ämne redan finns tillgängligt på kommandoraden kommer den att fråga Zookeeper att hämta listan med ämnen först och sedan skriva ut informationen om dem. Den visar olika fält som ämnesnamn, partitioner, ledare, kopior osv.
- Lägg till partitionsverktyg: Det här verktyget används för att lägga till partitioner till ett ämne som krävs för att hantera tillväxten av datavolym i ämnet. Men Observera att vi måste ange partitionerna när vi skapar ämnet. Det här verktyget låter oss lägga till manuella repliker för de tillagda partitionerna.
3. Övriga verktyg
Låt oss nu diskutera några diverse verktyg:
a. Kafka-Theme Tool
Detta verktyg används för att skapa, lista, ändra och beskriva ämnen.
Exempel: Skapa ämne: bin/kafka-topics.sh --zookeeper zk_host:port/chroot --create --topic topic_name --partitions 30 --replication-factor 3 --config x=y
b. Kafka-konsol-konsumentverktyg
Detta verktyg kan användas för att läsa data från Kafka-ämnen och skriva dem till standardutdata
Exempel: bin/kafka-console-consumer --zookeeper zk01.example.com:8080 --topic topic_name>/code>
c. Kafka-konsol-tillverkare Tool
Det här verktyget kan användas för att skriva data till ett Kafka-ämne från Standard Output.
Exempel: bin/kafka-console-producer --broker-list kafka03.example.com:9091 --topic topic_name
d. Kafka-konsument-grupper verktyg
Det här verktyget kan användas för att lista alla konsumentgrupper, beskriva en konsumentgrupp, ta bort information om konsumentgrupper eller återställa offset för konsumentgrupper. Det här verktyget används huvudsakligen för att beskriva konsumentgrupper och felsöka eventuella problem med konsumtionsoffset.
Exempel: Visning av förskjutningar på ett osäkert kluster: bin/kafka-consumer-groups --new-consumer --bootstrap-server broker01.example.com:9092 --describe --group group_name
Kafka Arkitektur
Olika komponenter i Kafka-verktyg
De viktigaste komponenterna i Kafka är följande:
1. Mäklare
Varje nod i en Kafka Cluster är en mäklare som lagrar data. Det finns vanligtvis flera mäklare för att balansera belastningen ordentligt. En mäklare lagrar meddelanden i form av ämnen som kan komma åt producenter (för att skriva) och konsumenter (för läsning). Ämnen skapas för att separera en applikations data från en annan. Eftersom mäklare är statslösa, behöver de Zookepers hjälp för att upprätthålla sitt klustrtillstånd. En mäklare kan hantera TB av meddelanden utan att det påverkar prestandan. Kafka mäklare ledarval görs av Zookeeper.
2. Producent
Det är enheten som driver meddelanden till mäklarna. Det kan finnas flera producenter som genererar data med mycket hög hastighet och oberoende av varandra. Producenterna får inte ett bekräftelse från mäklarna och skickar data till en takt som kan hanteras av mäklarna. De kan söka mäklare och börja skicka meddelanden så snart mäklarna börjar. Tillverkaren ansvarar för att välja vilket meddelande som ska tilldelas vilken partition inom ämnet. Detta kan göras på en rund-robin-sätt, helt enkelt för att balansera belastning eller så kan det göras enligt någon semantisk partitionsfunktion (säger baserat på någon nyckel i meddelandet).
3. Zookeeper
Det är enheten som hanterar och koordinerar mäklarna. Zookeeper meddelar en producent eller en konsument i händelse av en mäklares tillägg eller misslyckande. Varje mäklare skickar hjärtslagsförfrågningar till zookeeper med regelbundet intervall så länge den är i live. Zookeeper håller också information om ämnen och konsumentkompensationer.
4. Konsument
Det är enheten som läser meddelandena från ämnena. En konsument kan prenumerera på och läsa från mer än ett ämne. En konsument kan arbeta parallellt med andra konsumenter (i detta fall kommer varje partition att läsas endast av en konsument) som bildar konsumentgruppen. Det fungerar inte i synkronisering med producenterna. Konsumenten måste underhålla hur många meddelanden den har läst genom att använda partitionsförskjutning. Om en konsument accepterar en viss partitionsförskjutning innebär det att den redan har konsumerat de tidigare meddelandena i partitionen.
Slutsats
I den här artikeln har vi lärt oss hur vi kan använda olika Kafka-verktyg för att hantera vårt Kafka-kluster effektivt. Vi har också lärt oss de olika komponenterna i Kafka Ecosystem och hur de interagerar med varandra.
Rekommenderade artiklar
Detta är en guide till Kafka-verktyg. Här diskuterar vi typer av Kafka-verktyg, olika komponenter i Kafka tillsammans med Kafka-arkitektur. Du kan också titta på följande artikel för att lära dig mer -
- Topp Kafka-applikationer
- Förklaring av Big Data Architecture
- Top Data Science Tools
- Skillnader mellan Kafka vs Spark