Apache Kafka er en plattform for strømming av meldinger som muliggjør kommunikasjon og datadeling mellom ulike applikasjoner i et distribuert system via meldinger.
Systemet fungerer etter prinsippet om publisering og abonnement, hvor applikasjoner som genererer data publiserer meldinger, og applikasjoner som bruker data abonnerer på dem.
Med Apache Kafka kan man implementere en løs koblingsarkitektur mellom de ulike delene av systemet som produserer og bruker data. Dette forenkler design og administrasjon. Kafka er avhengig av Zookeeper for håndtering av metadata og synkronisering av forskjellige komponenter i klyngen.
Egenskaper ved Apache Kafka
Apache Kafka har vunnet popularitet, blant annet takket være følgende:
- Skalerbarhet gjennom klynger og partisjoner
- Høy hastighet med evne til å håndtere over 2 millioner skriveoperasjoner per sekund
- Bevarer rekkefølgen på meldinger
- Pålitelighet gjennom replikasjonssystem
- Mulighet for oppgradering uten nedetid
La oss nå se nærmere på noen av de vanligste bruksområdene for Kafka.
Vanlige bruksområder for Apache Kafka
Kafka er ofte brukt til prosessering av store datamengder, registrering og samling av hendelser som klikk for analyse, og sammenslåing av logger fra forskjellige deler av et system til et sentralt sted.
Det bidrar til å legge til rette for kommunikasjon mellom ulike applikasjoner i et system, og sanntidsbehandling av data fra IoT-enheter.
Nå skal vi se på de detaljerte trinnene for å installere Kafka på Windows og Linux.
Installere Kafka på Windows
Før du installerer Apache Kafka på Windows, må du sjekke om Java er installert. Åpne kommandolinjen som administrator og skriv følgende kommando:
java --version
Hvis Java er installert, vil du få ut JDK-versjonsnummeret.
Dersom du får en feilmelding om at kommandoen ikke ble gjenkjent, betyr det at Java ikke er installert, og du må installere det. For å installere Java, gå til Adoptium.net og klikk på nedlastingsknappen.
Dette vil laste ned Java-installasjonsfilen. Når nedlastingen er ferdig, kjør installasjonsprogrammet. Dette vil åpne installasjonsveiviseren.
Klikk på «Neste» gjentatte ganger for å velge standardinnstillingene. Installasjonen vil deretter starte. Bekreft installasjonen ved å lukke kommandolinjen, åpne en ny kommandolinje som administrator og skrive følgende kommando:
java --version
Denne gangen skal du få versjonen av JDK som du akkurat installerte. Etter at installasjonen er fullført, kan vi begynne å installere Kafka.
For å installere Kafka, gå først til Kafka-nettstedet.
Klikk på lenken, og du vil bli sendt til nedlastingssiden. Last ned de nyeste tilgjengelige binærfilene.
Dette vil laste ned Kafka-skript og binærfiler pakket i en .tgz-fil. Etter nedlastingen må du pakke ut filene fra .tgz-arkivet. Jeg vil bruke WinZip for å pakke ut, som kan lastes ned fra WinZip-nettstedet.
Etter å ha pakket ut filen, flytt den til C:-disken slik at filbanen blir C:kafka.
Åpne deretter kommandolinjen som administrator og start Zookeeper ved først å navigere til Kafka-katalogen. Kjør deretter filen zookeeper-server-start.bat med zookeeper.properties som konfigurasjonsfil.
cd C:kafka binwindowszookeeper-server-start.bat configzookeeper.properties
Når Zookeeper kjører, må vi legge til den kjørbare wmic-filen som Kafka bruker i systemets PATH:
set PATH=C:WindowsSystem32wbem;%PATH%;
Etter dette, start Apache Kafka-serveren ved å åpne en ny kommandolinje som administrator og navigere til C:kafka-mappen:
cd C:kafka
Start så Kafka ved å kjøre:
binwindowskafka-server-start.bat configserver.properties
Nå skal Kafka være i gang. Du kan tilpasse serveregenskaper, som hvor loggene skrives, i filen server.properties.
Installere Kafka på Linux
Først må du sørge for at systemet er oppdatert ved å oppdatere alle pakkene:
sudo apt update && sudo apt upgrade
Deretter sjekker du om Java er installert på maskinen din ved å kjøre:
java --version
Hvis Java er installert, vil du se versjonsnummeret. Hvis ikke, kan du installere det ved hjelp av apt:
sudo apt install default-jdk
Etter dette kan vi installere Apache Kafka ved å laste ned binærfilene fra nettstedet.
Åpne terminalen og naviger til mappen der nedlastingen ble lagret. I mitt tilfelle må jeg navigere til nedlastingsmappen:
cd Downloads
Når du er i nedlastingsmappen, pakk ut de nedlastede filene med tar:
tar -xvzf kafka_2.13-3.3.1.tgz
Naviger til den utpakkede mappen:
cd kafka_2.13-3.3.1.tgz
List opp katalogene og filene.
Når du er i mappen, start en Zookeeper-server ved å kjøre zookeeper-server-start.sh-skriptet som ligger i bin-katalogen til den utpakkede mappen.
Skriptet vil trenge en Zookeeper-konfigurasjonsfil. Standardfilen heter zookeeper.properties og ligger i konfigurasjonsunderkatalogen.
Så for å starte serveren, bruk følgende kommando:
bin/zookeeper-server-start.sh config/zookeeper.properties
Når Zookeeper kjører, kan vi starte Apache Kafka-serveren. Kafka-server-start.sh-skriptet ligger også i bin-katalogen. Kommandoen forventer også en konfigurasjonsfil. Standarden er server.properties som ligger i konfigurasjonsfilen.
bin/kafka-server-start.sh config/server.properties
Dette skal starte Apache Kafka. I bin-katalogen finner du mange skript for å utføre oppgaver som å opprette emner, administrere produsenter og administrere forbrukere. Du kan også tilpasse serveregenskaper i filen server.properties.
Avslutning
I denne guiden har vi gjennomgått hvordan du installerer Java og Apache Kafka. Selv om du kan installere og administrere Kafka-klynger manuelt, finnes det også administrerte alternativer som Amazon Web Services og Confluent.
Neste steg kan være å lære databehandling med Kafka og Spark.