Grunnleggende Apache Kafka og strømming · leksjon

Meglerkonfigurasjon og -justering

Optimaliser innstillingene for Kafka-meglere for bedre ressursutnyttelse og generell klyngestabilitet.

Leksjon 2 av 411 trinn

Meglerkonfigurasjon og -justering er en gratis leksjon i Grunnleggende Apache Kafka og strømming på CoddyKit. Dette er leksjon 2 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Grunnleggende Apache Kafka og strømming, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Grunnleggende Apache Kafka og strømming inneholder totalt 4 leksjoner.

Hvorfor justere Kafka-brokere?

Optimalisering av Kafka-brokerne er avgjørende for en stabil klynge med høy ytelse. Akkurat som når man justerer en motor, sørger riktig konfigurasjon for at Kafka-klyngen kjører jevnt og effektivt.

  • Ytelse: Håndter høyere datagjennomstrømming.
  • Stabilitet: Forhindre krasj og sørg for kontinuerlig drift.
  • Ressursutnyttelse: Utnytt serverens CPU, minne og disk best mulig.

Vi skal se nærmere på viktige innstillinger for å oppnå dette.

Filen `server.properties`

Hver Kafka-broker har en hovedkonfigurasjonsfil, som vanligvis heter server.properties. Denne filen bestemmer hvordan en broker oppfører seg, fra nettverksinnstillinger til datalagring.

Du finner denne filen i Kafka-installasjonsmappen, vanligvis under config/. Endringer krever at brokeren startes på nytt før de trer i kraft.

Unik identifikasjon av broker

Hver broker i en Kafka-klynge trenger en unik identifikator. Denne angis ved hjelp av parameteren broker.id i server.properties.

Den må være et ikke-negativt heltall og være unik på tvers av alle brokerne i klyngen. Kafka bruker denne ID-en til å identifisere brokere for replikering, ledervalg og mer.

broker.id=0

Datalagring: `log.dirs`

Parameteren log.dirs angir hvor Kafka lagrer loggsegmentene sine (de faktiske dataene for emner og partisjoner). Dette er en kritisk innstilling for ytelse og pålitelighet.

  • Flere disker: Bruk en kommaseparert liste over mapper på forskjellige fysiske disker for bedre parallellitet ved I/O.
  • Dedikerte disker: Bruk helst disker som er dedikert utelukkende til Kafka-logger, adskilt fra operativsystemet og andre applikasjoner.
log.dirs=/kafka/data1,/kafka/data2

Konfigurasjon av nettverkslyttere

Kafka-brokere kommuniserer via nettverkslyttere. Parameterne listeners og advertised.listeners definerer hvordan klienter og andre brokere kobler seg til.

  • listeners: Grensesnittene som brokeren binder seg til (for eksempel PLAINTEXT://:9092).
  • advertised.listeners: Adressen klienter og brokere bruker for å koble seg til (for eksempel PLAINTEXT://your.host.name:9092). Dette er avgjørende for ekstern tilgang eller oppsett med flere verter.

Standardinnstillinger for emner

Når et emne opprettes uten eksplisitte innstillinger for partisjonering eller replikering, bruker Kafka standardverdier på brokernivå. Disse konfigureres ved hjelp av num.partitions og default.replication.factor.

  • num.partitions: Angir standardantallet partisjoner for nye emner. Flere partisjoner gir høyere parallellitet.
  • default.replication.factor: Angir standardantallet replikaer for nye emner. Flere replikaer gir bedre feiltoleranse.

Det anbefales vanligvis å angi disse eksplisitt for hvert emne, men standardverdiene fungerer som en reserve.

Administrere datalagringstid

Kafka beholder meldinger i en konfigurerbar periode eller til de når en bestemt størrelse. Disse innstillingene hindrer at diskene blir fulle, og er avgjørende for å administrere lagringsplassen.

  • log.retention.hours: Hvor lenge meldinger beholdes (for eksempel er 168 timer lik 7 dager).
  • log.retention.bytes: Maksimal størrelse på et loggsegment før det kan slettes.

Kafka sletter meldinger basert på den grensen som nås først.

Grenser for meldingsstørrelse

For å hindre at svært store meldinger påvirker brokerens ytelse eller forårsaker nettverksproblemer, lar Kafka deg angi en maksimal meldingsstørrelse på brokernivå via message.max.bytes.

Denne grensen gjelder den totale størrelsen på en komprimert meldingsgruppe. Hvis en produsent prøver å sende en melding som er større enn dette, blir den avvist. Produsenter har også sin egen max.request.size.

message.max.bytes=1048576 (1 MB)

Justering av JVM og operativsystem

I tillegg til server.properties må også den underliggende Java Virtual Machine (JVM) og operativsystemet (OS) justeres for optimal Kafka-ytelse.

  • JVM-heapstørrelse: Konfigurer KAFKA_HEAP_OPTS for å tildele tilstrekkelig minne (for eksempel 5–8 GB for dedikerte brokere).
  • Søppelrydding: Velg en effektiv GC-algoritme (for eksempel G1GC), og juster parameterne til den.
  • Fildeskriptorer: Øk operativsystemets grenser for åpne fildeskriptorer, siden Kafka bruker mange av dem til logger og tilkoblinger.

Kontroll av brokerkonfigurasjon

Hvilke av de følgende parameterne er avgjørende for å angi hvor en Kafka-broker lagrer emnedataene sine, og hvor lenge de lagres?

Oppsummering: det viktigste ved justering av brokere

Vi har gått gjennom viktige Kafka-brokerkonfigurasjoner som påvirker ytelse, stabilitet og ressursbruk.

  • Filen server.properties er sentral for hvordan en broker oppfører seg.
  • Viktige parametere som broker.id, log.dirs, listeners, log.retention.hours og message.max.bytes er avgjørende for riktig oppsett.
  • Husk også å ta hensyn til justeringer på JVM- og operativsystemnivå for en virkelig optimalisert klynge.

Grundig justering sikrer at Kafka-klyngen kan håndtere datastrømmene dine effektivt og pålitelig.

Gratis å komme i gang

Lær deg Grunnleggende Apache Kafka og strømming med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «Meglerkonfigurasjon og -justering» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Grunnleggende Apache Kafka og strømming, inkludert «Meglerkonfigurasjon og -justering», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Grunnleggende Apache Kafka og strømming inneholder totalt 4 leksjoner.

Hva lærer jeg i «Meglerkonfigurasjon og -justering»?

Optimaliser innstillingene for Kafka-meglere for bedre ressursutnyttelse og generell klyngestabilitet. Du øver på Grunnleggende Apache Kafka og strømming med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Grunnleggende Apache Kafka og strømming?

Ingen tidligere erfaring er nødvendig. Grunnleggende Apache Kafka og strømming på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Meglerkonfigurasjon og -justering»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Grunnleggende Apache Kafka og strømming-leksjonen?

Ja. Alle Grunnleggende Apache Kafka og strømming-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Produsent- og forbrukerytelse
  2. Meglerkonfigurasjon og -justering
  3. Optimalisering av disk-I/O og nettverk
  4. Batching, komprimering og justering av linger
← Tilbake til Grunnleggende Apache Kafka og strømming