Apache Kafka

Sådan opsættes partitionering i Apache Kafka

Sådan opsættes partitionering i Apache Kafka
Apache Kafka er en kraftfuld meddelelsesmægler service. Det er meget hurtigt og pålideligt. Apache Kafka er open source og gratis at bruge. Det er skrevet på Java.I denne artikel vil jeg vise dig, hvordan du opsætter partitioner i Apache Kafka. Lad os komme igang.

Grundlæggende om Apache Kafka-partitioner:

At forstå det grundlæggende i Apache Kafka Skillevægs, du har brug for at vide om Kafka Emne først.

EN Emne er som en database i en SQL-database, såsom MariaDB for Apache Kafka. EN Emne har et navn eller identifikator, som du bruger til at gruppere meddelelser i Apache Kafka.

EN Skillevæg er som en kanal for hver Emne. EN Emne kan have mange Skillevægs eller kanaler.

Et netværkskabel, der forbinder to computere, har to ender, den ene sender data, den anden modtager data. Ligesom det har Apache Kafka Topic to ender, Producents og Forbrugers. EN Producent opretter meddelelser og sender dem i en af Skillevægs af en Emne. EN Forbruger på den anden side læser meddelelserne fra Skillevægs af en Emne.

Mange Skillevægs eller kanaler oprettes for at øge redundansen. Det bruges også til at gruppere meddelelser i en bestemt Emne.

Det er det grundlæggende i Apache Kafka Skillevægs. Du kan lære mere om Apache Kafka-partitioner på en anden dedikeret artikel Apache Kafka partitionering på https: // linuxhint.com / apache-kafka-partitionering

Installation af Apache Kafka:

Jeg har en dedikeret detaljeret artikel om, hvordan man gør det Installer Apache Kafka på Ubuntu, som du kan læse på https: // linuxhint.com / install-apache-kafka-ubuntu /

Med en lille smule tweaks kan du også installere Apache Kafka på andre Linux-distributioner.

Start af Apache Kafka Server:

Hvis du har fulgt min artikel for at installere Apache Kafka, skal du først starte Apache Kafka-serveren med følgende kommando:

$ sudo kafka-server-start.sh / etc / kafka.ejendomme

Apache Kafka-serveren skal starte. Hold denne terminal åben, så længe du vil have Apache Kafka-serveren til at køre.

Oprettelse af et Apache Kafka-emne:

Du kan oprette en Apache Kafka Emne testning med følgende kommando:

$ sudo kafka-emner.sh \
--skab \
--zookeeper localhost: 2181 \
--replikationsfaktor 1 \
--skillevægge 1 \
--emnetestning

Det Emne testning skal oprettes. Det her Emne har 1 partition.

Lad os sige, hvis du vil oprette N partitioner, og indstil derefter -skillevægge til N.

Lad os oprette en anden Emne, Lad os sige brugere, med 3 Skillevægs, kør derefter følgende kommando:

$ sudo kafka-emner.sh \
--skab \
--zookeeper localhost: 2181 \
--replikationsfaktor 1 \
--skillevægge 3 \
--emne brugere

Emne brugere skal oprettes med 3 Skillevægs.

Tilføjelse af partitionerede meddelelser til emnet:

EN Skillevæged besked af en Emne har en nøgle og en værdi. Det nøgle og værdi er normalt adskilt af en komma eller anden speciel karakter. Det betyder ikke noget, hvilket specialtegn du bruger til at adskille nøgle og værdi par. Men du skal bruge den samme specielle karakter overalt på det Emne. Ellers kunne ting gå galt.

Det nøgle bruges til at bestemme hvilken Skillevæg en besked om en Emne tilhører. Det skal være unikt på en Emne. Hvis du har 3 Skillevægs, så skal du bruge 3 forskellige nøgles. Så meddelelserne kan opdeles i 3 Skillevægs.

Lad os sige vores brugere Emne har 3 brugere med tast 1, 2, og 3, hver af dem tilhører en af 3 Skillevægs af brugere Emne.

Kør følgende kommando for at tilføje den første bruger med tast 1 bruger Kafka Producer API:

$ echo "1, name: 'Shahriar Shovon', land: 'BD'" | sudo kafka-konsol-producent.sh \
--mæglerliste localhost: 9092 \
--emne brugere \
--ejendom parse.nøgle = sandt \
--ejendomsnøgle.separator =,

Nu kan du liste meddelelsen fra brugere Emne bruger Kafka Consumer API med følgende kommando:

$ sudo kafka-konsol-forbruger.sh \
--zookeeper localhost: 2181 \
--emne brugere \
--ejendomstryk.nøgle = sandt \
--ejendomsnøgle.separator =, \
--fra begyndelsen

Som du kan se, er nøgle og værdi par jeg lige tilføjede til brugere Emne er opført.

Jeg skal beholde Forbruger program til brugere Emne Åbn på denne terminal og tilføj de andre brugere til brugere Emne fra en anden Terminal og se hvad der sker.

Tilføj en anden bruger med tast 2 med følgende kommando:

$ echo "2, name: 'John Doe', country: 'BD'" | sudo kafka-konsol-producent.sh \
--mæglerliste localhost: 9092 \
--emne brugere \
--ejendom parse.nøgle = sandt \
--ejendomsnøgle.separator =,

Som du kan se fra det markerede afsnit på skærmbilledet nedenfor, vises den nye bruger med det samme på forbrugerprogrammet.

Lad os tilføje vores sidste bruger med tast 3 med følgende kommando:

$ echo "3, name: 'Evelina Aquilino', land: 'US'" | sudo kafka-konsol-producent.sh \
--mæglerliste localhost: 9092 \
--emne brugere \
--ejendom parse.nøgle = sandt \
--ejendomsnøgle.separator =,

Som du kan se, vises den nye bruger også i Forbruger program.

Du kan også tilføje mange brugere til det samme Skillevæg. Bare sørg for, at nøgle er den samme.

Lad os tilføje en anden bruger til Skillevæg med tast 1:

$ echo "1, name: 'Lynelle Piatt', land: 'CA'" | sudo kafka-konsol-producent.sh \
--mæglerliste localhost: 9092 \
--emne brugere \
--ejendom parse.nøgle = sandt \
--ejendomsnøgle.separator =,

Som du kan se, tilføjes den nye bruger til den korrekte Skillevæg af brugere Emne.

Jeg kan fortsætte med at tilføje tilfældige brugere til brugere Emne og de vil blive sendt gennem den rigtige partition, som du kan se fra skærmbilledet nedenfor.

Så det er sådan Skillevægs i Apache Kafka fungerer. Hver Skillevæg er som en , den første besked, du sender gennem denne partition, vises først og derefter den anden besked og så videre i den rækkefølge, de sendes.

Hvis du er en Java udvikler, kan du bruge Java programmeringssprog og Apache Kafka Java APIs at gøre interessante ting med Apache Kafka Skillevægs. For eksempel kan du tildele forskellige Skillevæg for forskellige chatrum til din instant messaging-app, da meddelelser skal vises i den rækkefølge, de sendes.

Så det er alt for i dag. Tak fordi du læste denne artikel.

Sådan installeres League Of Legends på Ubuntu 14.04
Hvis du er fan af League of Legends, er dette en mulighed for dig at prøvekøre League of Legends. Bemærk, at LOL understøttes på PlayOnLinux, hvis du ...
Installer det nyeste OpenRA-strategispil på Ubuntu Linux
OpenRA er en Libre / Free Real Time Strategy-spilmotor, der genskaber de tidlige Westwood-spil som det klassiske Command & Conquer: Red Alert. Distrib...
Installer nyeste Dolphin Emulator til Gamecube & Wii på Linux
Dolphin Emulator giver dig mulighed for at spille dine valgte Gamecube & Wii-spil på Linux Personal Computers (PC). Som en frit tilgængelig og open s...