See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 10630|Vastuse: 1

Kafka konfiguratsiooni parameetrite üksikasjalik selgitus

[Kopeeri link]
Postitatud 24.06.2021 11:47:12 | | |
Broker Configs

KinnisvaraVaikimisiKirjeldus
broker.id Iga maaklerit saab tuvastada unikaalse mitte-negatiivse täisarvulise ID-ga; Seda ID-d saab kasutada maakleri "nimena" ning selle olemasolu võimaldab maakleril migreeruda teisele hostile/pordile ilma tarbijaid segadusse ajamata. Sa võid valida suvalise numbri ID-ks, kui ID on unikaalne.
log.dirs/tmp/kafka-logsRada, kuhu Kafka andmeid salvestab. See tee ei ole unikaalne, see võib olla mitu ja teed peavad olema eraldatud ainult komadega; Iga kord, kui luuakse uus partitsioon, valitakse see tee järgi, mis sisaldab kõige vähem partitsioone.
sadam6667Server aktsepteerib pordi, millega klient ühendub
Zookeeper.connectnullZooKeeperi ühendusstringi formaat on: hostname:port, kus hostnimi ja port on vastavalt ZooKeeperi klastri sõlme host ja port. Selleks, et ühenduda teiste ZooKeeperi sõlmedega, kui host läheb katki, saad luua mitu hosti järgmiselt:
hostname1:port1, hostname2:port2, hostname3:port3.

ZooKeeper võimaldab lisada "chroot" tee, et salvestada kogu kafka andmed klastris kindla tee alla. Kui mitu Kafka klastrit või muud rakendust kasutavad sama ZooKeeperi klastrit, saad seda meetodit kasutada andmete salvestustee määramiseks. Seda saab rakendada, vormindades ühendusstringi nii:
hostname1:port1,hostname2:port2,hostname3:port3/chroot/path
See seadistus salvestab kogu kafka klastri andmed /chroot/path tee alla. Pane tähele, et enne maakleri käivitamist pead looma selle tee ning tarbijad peavad kasutama sama ühenduse formaati.
message.max.baiti1000000Maksimaalne sõnumite suurus, mida server saab vastu võtta. Oluline on, et tarbija ja tootja seaded selle omaduse osas oleksid sünkroniseeritud, vastasel juhul on tootja poolt avaldatud sõnum tarbijale liiga suur.
num.network.threads3Võrgulõimede arv, mida server kasutab võrgupäringute töötlemiseks; Üldiselt ei pea seda kinnisvara muutma.
num.io.threads8Serveri poolt päringute töötlemiseks kasutatavate I/O lõimede arv; Lõimede arv peaks olema vähemalt võrdne kõvaketaste arvuga.
background.threads4Taustatöötluseks kasutatavate lõimede arv, näiteks failide kustutamine; Seda omadust ei pea muutma.
queued.max.requests500Maksimaalne päringute arv, mida saab järjekorda panna, et I/O lõim töötleks enne, kui võrgulõim lõpetab uute päringute lugemise.
host.namenullmaakleri hostnimi; Kui hostinimi on juba määratud, on maakler seotud ainult selle aadressiga; Kui seadet pole, seob see kõik liidesed ja avaldab ühe koopia ZK-sse
advertised.host.namenullKui see on määratud, saadetakse see tootjatele, tarbijatele ja teistele maakleritele kui maakleri hostnimi
advertised.portnullSee port antakse tootjatele, tarbijatele ja teistele vahendajatele ning seda kasutatakse ühenduse loomiseks; Seda tuleb seadistada ainult siis, kui tegelik port ja port, mida server peab siduma, on erinevad.
socket.send.buffer.bytes100 * 1024SO_SNDBUFF Vahemälu suurus, mida server kasutab sokliühenduste loomiseks
socket.receive.buffer.bytes100 * 1024SO_RCVBUFF vahemälu suurus, mida server kasutab pistikupesadega ühendamiseks
socket.request.max.baiti100 * 1024 * 1024Serveri lubatud maksimaalne päringu suurus;  See aitab vältida serverite ületäitumist, mis peaksid olema väiksemad kui Java kuhja suurus
num.partitions1Kui teema loomisel partitsioonide arvu ei määrata, on see arv vaikimisi sektsioonide arv teema all.
log.segment.bytes1014*1024*1024Teemapartitsiooni logid on salvestatud paljudesse failidesse kindlas kataloogis, mis jagavad partitsiooni logid segmentideks; See atribuut on iga faili maksimaalne suurus; Kui mõõtmed jõuavad selle väärtuseni, luuakse uus fail. Seda seadet saab ületada iga teema alusel.
Vaade  Hüperlingi sisselogimine on nähtav.
logi.roll.tunnid24 * 7Isegi kui fail ei jõua log.segment.bytes'ini, luuakse uus fail iga kord, kui faili loomise aeg selle omaduseni jõuab. Seda seadet saab üle kirjutada ka teematasandi seadistustega;
VaadeHüperlingi sisselogimine on nähtav.
log.cleanup.policykustuta
logi.retention.minutes ja log.retention.hours7 päevaAeg, mil iga logifail salvestati enne kustutamist. Vaikimisi andmete säästmise aeg on kõigi teemade puhul sama.
logi.retention.minutes ja log.retention.bytes kasutatakse mõlemad logifailide kustutamise määramiseks, sõltumata sellest, milline omadus on üle ujutatud.
Seda omaduse seadet saab üle kirjutada, kui teema on põhimõtteliselt määratud.
VaadeHüperlingi sisselogimine on nähtav.
log.retention.bytes-1Iga partitsiooni poolt iga teema all salvestatud koguandmemaht; Pane tähele, et see on partitsiooni ülemine piir, seega see arv korrutatuna partitsioonide arvuga on kogu teema kohta salvestatud andmemaht. Pane tähele: kui on seatud nii log.retention.hours kui ka log.retention.bait, siis ühe piiri ületamine põhjustab segmendifaili kustutamise.
Pane tähele, et seda seadet saab iga teema poolt üle kirjutada.
VaadeHüperlingi sisselogimine on nähtav.
log.retention.check.interval.ms5 minutitKontrolli logisegmenteeritud failide vahelist vahemikku, et selgitada, kas faili atribuudid vastavad kustutamisnõuetele.
log.cleaner.enablefalseKui see omadus on seatud vääraks, kustutatakse see, kui logi on salvestatud maksimaalse aja või suuruse jooksul. Kui see on seatud tõele, juhtub see siis, kui salvestusatribuut jõuab ülemisse piiriniHüperlingi sisselogimine on nähtav.
log.cleaner.threads1Logaritmitihendust teostavate lõimede arv
log.cleaner.io.max.baitid.sekundisÜkskiMaksimaalne I/O-de arv, mida logipuhastajal võib olla logi kokkusurumisel. See seadistus piirab puhastajat, et vältida aktiivsete päringuteenuste segamist.
log.cleaner.io.buffer.size500*1024*1024Log Cleaner indekseerib logisid puhastusprotsessi ajal ja vähendab kasutatava vahemälu suurust. Parim on seadistada see suureks, et tagada piisav mälu.
log.cleaner.io.buffer.load.factor512*1024Logide puhastamiseks vajaliku I/O tüki suurus. Seda seadet ei pea muutma.
log.cleaner.io.buffer.load.factor0.9logide puhastamisel kasutatava räsi tabeli koormustegur; Seda valikut ei pea muutma.
log.cleaner.backoff.ms15000Ajavahemik, mille jooksul logi puhastatakse, tehakse
logi.cleaner.min.cleanable.ratio0.5See konfiguratsioon kontrollib, kui tihti logikompaktor püüab palke puhastada (eeldatavastiHüperlingi sisselogimine on nähtav.on avatud). Vaikimisi väldi rohkem kui 50% palkide puhastamist. See suhe on seotud varulogi maksimaalse ruumiga (50% logidest on kokku surutud 50% juures). Kõrgem määr tähendab vähem jäätmeid ja rohkem ruumi saab tõhusamalt puhastada. Seda seadet saab igas teemaseades üle kirjutada.
VaadeHüperlingi sisselogimine on nähtav.
log.cleaner.delete.retention.ms1 päevhoiustamisaeg; Maksimaalne aeg kokkusurutud logide hoidmiseks; See on ka maksimaalne aeg, mil klient saab sõnumeid tarbida, ning erinevus log.retention.minutes vahel seisneb selles, et üks kontrollib tihendamata andmeid ja teine tihendatud andmeid, mis kirjutatakse üle määratud aja jooksul, mil teema luuakse.
log.index.size.max.baiti10*1024*1024Maksimaalne suurus logisegmendi kohta. Pane tähele, et kui logi suurus jõuab selle väärtuseni, tuleb genereerida uus logisegment isegi siis, kui suurus ei ületa log.segment.baitide piiri.
log.index.interval.bytes4096Toomise ajal tuleb skaneerida lähimat nihket teatud ruumiga, mida suurem on seadistus, seda parem, kasuta üldiselt vaikimisi väärtust
log.flush.interval.messagesLong.MaxValuelogifail "sünkroonitakse" kettale enne sõnumite kogumist. Kuna ketta IO operatsioonid on aeglased, kuid ka vajalik "andmete usaldusväärsuse" tagamiseks, kontrollige, kas kõvakettale kõvenemiseks vajalik ajavahemik on vajalik. Kui see väärtus on liiga suur, tähendab see liiga pikka "sünkroonimist" aega (IO blokeerimist), kui see väärtus on liiga väike, tähendab see pikka "fsync" perioodi (IO blokeerimist), kui see väärtus on liiga väike, tähendab see suurt hulka "sünkroonimise" aegu, mis tähendab, et kogu kliendipäringul on teatav viivitus ning füüsilise serveri rike põhjustab sõnumite kadumise ilma fsyncita.
log.flush.scheduler.interval.msLong.MaxValueKontrolli, kas fsync-intervallid on vajalikud
log.flush.interval.msLong.MaxValueSeda numbrit kasutatakse "fsync" ajavahemiku kontrollimiseks, kui sõnumite arv ei jõua kunagi kettale kinnitatud sõnumite arvuni, kuid viimase ketta sünkroniseerimise ajavahemik jõuab läveni, käivitub ka ketta sünkroniseerimine.
log.delete.delay.ms60000Faili kustutamise järel indeksis säilimisaega tavaliselt ei vaja muuta
auto.create.topics.enabletrueKas lubada automaatset teemade loomist. Kui see on tõsi, loob see automaatselt teema, mida ei eksisteeri, kui tootmine või toomine ei eksisteeri. Vastasel juhul pead teema loomiseks kasutama käsurea
controller.socket.timeout.ms30000Pesa ajapiirangu aeg, kui partitsiooni halduskontroller teeb varukoopia.
controller.message.queue.sizeInt.MaxValuekontrollerilt maaklerile-kanalid
default.replication.factor1Vaikimisi varukoopiate arv viitab ainult automaatselt loodud teemadele
replica.lag.time.max.ms10000Kui järgija ei saada selle aja jooksul toomispalvet, eemaldab juht järgija ISR-ist uuesti ja loeb järgija riputatuks
replica.lag.max.sõnumid4000Kui replikal on rohkem kui see arv varundamata, eemaldab juht järgija ja loeb järgija riputatuks
replica.socket.timeout.ms30*1000LEADER-Timeout aeg socket-võrgu päringute jaoks andmete varundamisel
replica.socket.receive.buffer.bytes64*1024Socketi vastuvõtupuhver, kui saata võrgupäring liidrile varundamise ajal
replica.fetch.max.baiti1024*1024Iga toomise maksimaalne väärtus varundamise ajal
replica.fetch.min.bytes500Maksimaalne ooteaeg, et andmed jõuaksid liidrini, kui juht esitab varukoopia taotluse
replica.fetch.min.bytes1Vastuse väikseim suurus pärast iga toomist varundamisel
num.replica.fetchers1Lõimede arv, mis varundavad andmeid liidrilt
replica.high.watermark.checkpoint.interval.ms5000Iga koopia kontrollib, kui tihti kõrgeim veetase kõveneb
fetch.purgatory.purge.interval.requests1000Fetch taotleb puhastusintervalli
producer.purgatory.purge.interval.requests1000Produtsent taotleb puhastusintervalli
zookeeper.session.timeout.ms6000Loomaaia hoidja sessiooni aeg.
zookeeper.connection.timeout.ms6000Maksimaalne aeg, mille klient ootab, et loomaaiahoidjaga ühendust luua.
zookeeper.sync.time.ms2000ZK järgija jääb kõige kauem ZK liidrist maha
controlled.shutdown.enabletrueKas on võimalik kontrollida maakleri sulgemist. Kui võimalik, saab maakler enne sulgemist kõik juhid teistele maakleritele üle viia. See vähendab kättesaamatust väljalülitusprotsessi ajal.
controlled.shutdown.max. kordused3Käskude arv, mis suudavad edukalt käivitada väljalülitamise enne mittetäieliku väljalülituse sooritamist.
controlled.shutdown.retry.backoff.ms5000Tagasitõmbumise aeg seiskamiste vahel
auto.leader.rebalance.enabletrueKui see on tõsi, tasakaalustab kontroller automaatselt maaklerite juhtimise partitsioonide vahel
liider.tasakaalutus.per.maakler.protsent10Iga maakleri lubatud maksimaalne tasakaalutuse suhe
leader.tasakaalutus.kontroll.intervall.sekundid300Kontrolli liidri tasakaalutuse sagedust
offset.metadata.max.baiti4096Võimaldab klientidel salvestada maksimaalse arvu oma nihkeid
max.connections.per.ipInt.MaxValueIga maakleri kohta saab iga IP-aadressi jaoks luua maksimaalne ühenduste arv
max.connections.per.ip.overrides Vaikimisi ühenduse maksimaalne katvus IP või hostinime kohta
connections.max.idle.ms600000Tühjade ühenduste ajapiirang
logi.roll.jitter. {ms,hours}0Maksimaalne närvilisuste arv, mis on abstrakteeritud logRollTimeMillisist
num.recovery.threads.per.data.dir1Lõimede arv, mida iga andmekataloog kasutab taastamise logimiseks
unclean.leader.election.enabletrueNäitab, kas ISR-is on võimalik kasutada mitte-replikaate seadistust juhina
delete.topic.enablefalseVõimalik teemasid kustutada
offsets.topic.num.partitions50Nihke comset teema partitsioonide arv. Kuna selle muutmine pärast juurutust ei ole praegu toetatud, soovitame tootmises kasutada kõrgemat seadistust (nt 100-200).
offsets.topic.retention.minutes1440Nihked, mis on eksisteerinud kauem kui see ajapiirang, märgitakse kustutamise ootel olevateks
offsets.retention.check.interval.ms600000Nihkehaldur kontrollib vananenud nihkete sagedust
offsets.topic.replication.factor3Teema nihke varukoopiate arv. Soovitatav on määrata kõrgemaid numbreid, et tagada suurem kättesaadavus
offset.topic.segment.bytes104857600Nihutab teemat.
offsets.load.buffer.size5242880See seadistus on seotud partii suurusega ja seda kasutatakse nihkesegmendist lugemisel.
offsets.commit.required.acks-1Kinnituste arv tuleb määrata enne, kui kompensatsioonikohustus on aktsepteeritav, ja tavaliselt ei pea seda muutma


KinnisvaraVaikimisiServeri vaikeomadusKirjeldus
cleanup.policykustutalog.cleanup.policyKas "delete" või "compact"; See string näitab, kuidas kasutada vana logi osa; Vaikimisi meetod ("kustuta") viskab vana osa ära, kui nende taaskasutusaja või suuruse piirang on saavutatud. "kompaktne" tihendab palgid
delete.retention.ms86400000 (24 tundi)log.cleaner.delete.retention.msErinevus log.retention.minutes vahel seisneb selles, et üks kontrollib tihendamata andmeid ja teine tihendatud andmeid. Seda konfiguratsiooni saab teema loomisel kinnitamise parameetritega üle kirjutada
flush.messagesÜkskilog.flush.interval.messagesSee konfiguratsioon määrab ajavahemiku fsync-logide sundimiseks. Näiteks, kui see valik on seatud väärtusele 1, siis on fsync vajalik pärast iga sõnumit, ja kui seatud 5, on fsync vajalik iga 5 sõnumi kohta. Üldiselt soovitatakse seda väärtust mitte määrata. Selle parameetri seadistamine nõuab vajalikku kompromissi "andmete usaldusväärsuse" ja "jõudluse" vahel. Kui see väärtus on liiga suur, põhjustab iga kord pikk "fsync" aeg (IO blokeering), ja kui see väärtus on liiga väike, põhjustab see suurt hulka "fsync"-i, mis tähendab ka teatud viivitust kogu kliendipäringus. Füüsiline serveri rike põhjustab sõnumite kadumise ilma fsync'ita.
flush.msÜkskilog.flush.interval.msSeda konfiguratsiooni kasutatakse ajavahemiku kinnitamiseks fsync logide sundimise vahel kettale; Näiteks, kui seatud 1000-le, siis on fsync vajalik iga 1000ms järel. See valik ei ole üldiselt soovitatav
index.interval.bytes4096log.index.interval.bytesVaikeseade tagab, et lisame sõnumile indeksi iga 4096 baidi järel ning rohkem indekseid lähendab lugemissõnumit, kuid indeksi suurus suureneb. See valik ei ole tavaliselt vajalik
max.message.bytes1000000max.message.bytesKafka lisasõnumi maksimaalne suurus. Pane tähele, et kui suurendad seda suurust, pead suurendama ka oma tarbija toomise suurust, et tarbija saaks sõnumeid nende maksimaalsete suuruste juurde tuua.
minim.puhastatav.must.suhe0.5minim.puhastatav.must.suheSee konfiguratsioon kontrollib, kui tihti logikompressor püüab palke puhastada. Vaikimisi välditakse logisid, mille tihendusmäär ületab 50%. See suhe väldib suurimat ruumi raiskamist
min.insync.replicas1min.insync.replicasKui tootja seatakse request.required.acks väärtusele -1, määrab min.insync.replicas minimaalse replikade arvu (iga repica kirjutamine peab olema edukas), ja kui seda arvu ei saavutata, loob tootja erandi.
retention.bytesÜkskilog.retention.bytesKui kasutate "kustuta" säilitamispoliitikat, viitab see konfiguratsioon logi maksimaalsele suurusele enne kustutamist. Vaikimisi pole suurusepiirangut, vaid ainult ajapiirang
retention.ms7 päevalogi.retention.minutesKui kasutate "kustuta" säilitamispoliitikat, viitab see konfiguratsioon ajale, mil logi salvestati enne kustutamislogi.
segment.baitid1GBlog.segment.bytesKafkas salvestatakse logilogid tükkidena ning see konfiguratsioon viitab logilogide suurusele, mis on jagatud tükkideks
segment.index.baitid10MBlog.index.size.max.baitiSee konfiguratsioon on umbes indeksfaili suurus, mis on kaardistatud nihkete ja faili asukohtade vahel; Seda konfiguratsiooni ei ole tavaliselt vaja muuta
segment.ms7 päevalogi.roll.tunnidIsegi kui logiploki fail ei saavuta kustutamist või tihendamist vajaliku suuruseni, sunnitakse, kui logiaeg jõuab selle ülemise piirini, uue logiploki faili loomise
segment.jitter.ms0 logi.roll.jitter. {ms,hours}Maksimaalne jitter, mida logRollTimeMillisist lahutada.


Tarbijakonfiguratsioonid

KinnisvaraVaikimisiKirjeldus
group.id String, mis unikaalselt tuvastab grupi, kus tarbijaprotsess asub, ja kui sama grupi ID on seatud, tähendab see, et need protsessid kuuluvad samasse tarbijagruppi
Zookeeper.connect Määra Zookeeperi ühenduse string, formaat on hostnimi:port, siin on host ja port mõlemad Zookeeperi serveri host ja port, et vältida kontakti kaotamist pärast Zookeeperi masina rikkeid, saad määrata mitu hostnimi:porti, kasutades komasid eraldusena:
hostname1:port1,hostnimi2:port2,hostnimi3:port3
Saad lisada ZooKeeperi chroot tee ZooKeeperi ühendusstringi, mida kasutatakse oma andmete salvestamiseks, järgmiselt:
hostname1:port1,hostname2:port2,hostname3:port3/chroot/path
consumer.idnullSeadistamist pole vaja ja genereeritakse tavaliselt automaatselt
socket.timeout.ms30*100Võrgupäringute ajapiirangud. Tegelik ajapiirang on max.fetch.wait+socket.timeout.ms
socket.receive.buffer.bytes64*1024socket'i kasutatakse võrgupäringute vahemälu suuruse vastuvõtmiseks
fetch.message.max.baiti1024*1024Maksimaalne baitide arv ühe toomissõnumi kohta ühe toomispäringu kohta. Need baitid jälgitakse iga partitsiooni mälus, nii et see seade juhib tarbija kasutatava mälu hulka. Toomispäringu suurus peab olema vähemalt võrdne serveri lubatud maksimaalse sõnumi suurusega, vastasel juhul on sõnumi maht, mida tootja võib saata, suurem kui tarbija tarbitav suurus.
num.consumer.fetchers1Andmete toomiseks kasutatavate toomislõimede arv
auto.commit.enabletrueKui see on tõsi, sünkroniseeritakse tarbija poolt toodud sõnumi nihe automaatselt loomaaia hoidjaga. Seda commit offset'i kasutab uus kasutaja, kui protsess katkeb
auto.commit.interval.ms60*1000Tarbija esitamise sagedus loomaaia omanikule on sekundites
queued.max.message.chunks2Maksimaalne sõnumite arv, mida kasutatakse tarbeks vahemällu salvestamiseks. Iga tükk peab olema sama mis fetch.message.max.baiti
rebalance.max.korduvad katsed4Kui tarbijagruppi lisatakse uus tarbija, püüab tarbijate kogum tasakaalustada iga tarbija jaoks eraldatud partitsioonide arvu. Kui tarbija kogumine muutub, ebaõnnestub see tasakaalustamine ja taasaktiveerub jaotuse täitmisel
fetch.min.bytes1Minimaalne baitide arv, mida server peaks iga toomispäringuga tagastama. Kui andmeid ei tagastata, ootab päring, kuni piisavalt andmeid on tagastatud.
fetch.wait.max.ms100Kui fetch.min.bytes'i rahuldamiseks pole piisavalt andmeid, viitab see konfiguratsioon maksimaalsele ajale, mille server blokeerib enne toomispäringule vastamist.
rebalance.backoff.ms2000Taganemise aeg enne Reblance'i uuesti proovimist
refresh.leader.backoff.ms200On aeg oodata enne, kui üritatakse kindlaks teha, kas jagunemise juht on oma juhtpositsiooni kaotanud
auto.offset.resetSuurimKui zookeeperis ei ole initsialiseeritud nihke, siis kui nihe on vastus järgmisele väärtusele:
väikseim: Automaatne nihe lähtestamine väikseimale nihkele
suurim: Automaatne nihke lähtestamine suurima nihkele
Kõik muu: Viskab erandi tarbijale
consumer.timeout.ms-1Kui sõnumit pole saadaval, isegi pärast kindla aja ootamist, rakendatakse ajapiirangu erand
exclude.internal.topicstrueKas tutvustada sisemiste teemade sõnumeid tarbijatele
paritition.assignment.strategyLevikVali poliitika, mis määrab partitsioone tarbijavoogudele, valikuliselt vahemik, ringrobin
client.idGrupi ID väärtuson kasutajaspetsiifiline string, mis aitab jälgida kõnesid igas päringus. See peaks loogiliselt kinnitama taotluse, mis päringu genereeris
zookeeper.session.timeout.ms6000Loomaaia töötaja sessioonide ajapiirangud. Kui tarbija ei saada selle aja jooksul loomaaia töötajale südamelöökide sõnumit, loetakse see katkestatuks ja tekib reblance
zookeeper.connection.timeout.ms6000Maksimaalne ooteaeg, mille jooksul klient loob Zookeeperi ühenduse
zookeeper.sync.time.ms2000ZK järgijad võivad ZK liidrist maha jääda maksimaalse aja jooksul
offsets.storageLoomaaia hoidjaOffsetide hoiustamiseks kasutatavad kohad: loomaaia hoidja või kafka
offset.channel.backoff.ms1000Tagasitõmbumise aeg nihkekanaliga uuesti ühendamisel või ebaõnnestunud nihke toomise/commit'i taotluse uuesti proovimisel
offsets.channel.socket.timeout.ms10000Pesa ajapiirangu vastusele toomise/commiteerimise päringule nihke lugemisel. Seda ajapiirangut kasutab consumerMetadata päring nihkehalduse taotlemiseks
offsets.commit.max. kordused5Mitu korda offset-kohustust uuesti prooviti. See korduskatse kehtib ainult offset-commitide puhul sulgemise vahel. tema
dual.commit.enabledtrueKui kasutad "kafka" offsets.storage'ina, saad offset'i Zookeeperile kaks korda (ja korra kafkale). See on hädavajalik, kui liigud loomaaia hoidja-põhiselt offset-salvestuselt kafka-põhisele offset-salvestusele. Iga konkreetse tarbijagrupi puhul on ohutu soovitus see valik välja lülitada, kui migratsioon on lõppenud
partition.assignment.strategyLevikVali "vahemiku" ja "ringrobin" poliitikad partitsioonide määramiseks tarbijaandmevoogudele; Ringikujuline partitsiooni jaotaja eraldab kõik saadaolevad partitsioonid ning kõik tarbijalõimed. See määrab partitsioonitsükli tarbijalõimele. Kui kõik tarbija eksemplarid on määratud jaotusega, jagatakse partitsioonid deterministlikeks jaotusteks. Ringjaotuse strateegia on võimalik ainult siis, kui täidetud on järgmised tingimused: (1) Igal teemal on sama arv andmevooge tarbija tugevuse kohta. (2) Tellitud teemade kogum määratakse iga tarbija eksemplari kohta tarbijagrupis.


Tootja konfiguratsioonid

KinnisvaraVaikimisiKirjeldus
metadata.broker.list Serveeri iseseisvalt tegutsemist. tootjat kasutatakse ainult metaandmete (teemad, partitsioonid, koopiad) saamiseks. Pesa ühendus andmete saatmiseks luuakse tagastatud metaandmete põhjal. Formaat on järgmine:
host1:port1,host2:port2
See nimekiri võib olla maaklerite alamnimekiri või VIP, mis suunab maakleritele
request.required.acks0See konfiguratsioon on kinnitusväärtus, mis näitab, millal tootmispäring loetakse lõpetatuks. Eriti see, kui paljud teised maaklerid on oma logidesse andmeid esitanud ja seda oma juhile kinnitanud. Tüüpilised väärtused hõlmavad:
0: Näitab, et tootja ei oota kunagi maaklerilt kinnitust (sama käitumine nagu 0,7). See valik pakub kõige väiksemat latentsust, kuid samas suurimat riski (sest andmed kaovad, kui server maha läheb).
1: Näitab, et liidri koopia on saanud andmete kinnituse. Sellel valikul on madal latentsus ja see tagab, et server kinnitab, et see on vastu võetud.
-1: Tootja saab kinnituse, et kõik sünkroniseeritud koopiad on andmed kätte saanud. Latentsus on suurim, kuid see meetod ei kõrvalda täielikult kadunud sõnumite riski, sest sünkroniseeritud replikade arv võib olla 1. Kui soovite veenduda, et mõned replikad saavad andmeid, peaksite teematasandi seadetes määrama valiku min.insync.replicas. Loe põhjalikuma arutelu jaoks disainidokumentatsiooni.
request.timeout.ms10000Maakler püüab rakendada request.required.acks nõuet, vastasel juhul saadetakse kliendile viga
produtsent.tüüpSünkroonimineSee valik määrab, kas sõnum saadetakse asünkroonselt taustalõime. Õiged väärtused:
(1) asünkroonne: Asünkroonne saatmine
(2) sünkroonimine: Sünkroniseeritud saatmine
Tootja asünkroonseks seadistamisega saame päringuid töödelda partiidena (mis on hea suurema läbilaskevõime saavutamiseks), kuid see loob ka võimaluse, et kliendimasin kaotab saatmata andmed
serializer.classkafka.serializer.DefaultEncoderSõnumi serialiseerimiskategooria. Vaikimisi kodeerija sisestab ühe baidi[] ja tagastab sama baidi[]
key.serializer.class Serialiseerimise klass märksõnade jaoks. Kui seda ei antud, on vaikimisi vastata sõnumile
partitioner.classkafka.producer.DefaultPartitionerpartitioner class, et jagada sõnumeid alamteemade vahel. Vaikimisi partitsioneerija põhineb võtme räsitabelil
compression.codecÜkskiSee parameeter võib määrata andmete tihendamiseks mõeldud koodek, mida saab valida kui "none", "gzip", "snappy".
compressed.topicsnullSeda parameetrit saab kasutada selle määramiseks, kas teatud teemad on tihendatud. Kui tihendatud koodek on muu koodek kui NoCompressCodec, rakendatakse need koodekid määratud teemade andmetele. Kui tihendatud teemade nimekiri on tühi, rakenda konkreetne tihendatud koodek kõigile teemadele. Kui tihendatud koodek on NoCompressionCodec, siis tihendamine ei ole kõigi teemade jaoks saadaval.
message.send.max. kordused3See parameeter paneb tootja automaatselt uuesti proovima ebaõnnestunud saatmispäringuid. See parameeter määrab korduste arvu. Märkus: mitte-0 väärtuse määramine põhjustab teatud võrguvead kordumist: saatmise ja kinnituse kaotuse
retry.backoff.ms100Enne iga korduskatset uuendab tootja vastava teema metaandmeid, et näha, kas uus juht on määratud. Kuna juhi valik võtab veidi aega, määrab see valik, kui kaua tootja peab metaandmete uuendamiseks ootama.
topic.metadata.refresh.interval.ms600*1000Tootja uuendab tavaliselt teema metaandmeid mõnes rikkeolukorras (partitsioon puudub, juht pole saadaval jne). Tal on regulaarne tsükkel. Kui seadistad selle negatiivsele väärtusele, uuendatakse metaandmeid ainult siis, kui see ebaõnnestub. Kui see on seatud 0-ks, uuendatakse metaandmeid pärast iga sõnumi saatmist (seda valikut ei soovitata, süsteem tarbib liiga palju). Oluline: Uuendused toimuvad alles pärast sõnumi saatmist, seega kui tootja sõnumit kunagi ei saada, ei uuendata metaandmeid kunagi.
queue.buffering.max.ms5000Maksimaalne ajavahemik, mille jooksul kasutaja andmeid vahemällu salvestab, kui rakendatakse asünkroonset režiimi. Näiteks, kui sõnum on seatud 100-le, töödeldakse 100 ms raadiuses olevaid sõnumeid partiidena. See parandab läbilaskevõimet, kuid suurendab latentsust vahemällu salvestamise tõttu.
queue.buffering.max.sõnumid10000Asünkroonse režiimi kasutamisel tuleb maksimaalne arv saatmata sõnumeid, mis saab enne tootjat järjekorda vahemällu salvestada, blokeerida või andmed kaduma
batch.num.messages200Asünkroonse režiimi kasutamisel saad partiitöötluse kaudu töödelda maksimaalse arvu sõnumeid. Või on sõnumite arv jõudnud siia veebis või queue.buffer.max.ms on saabunud, ja produtsent töötleb selle
send.buffer.bytes100*1024Socketi kirjutamisvahemälu suurus
client.id“”See kliendi ID on kasutajaspetsiifiline string, mis on lisatud igasse päringusse kõne jälgimiseks, ning ta peaks loogiliselt suutma kinnitada, et rakendus esitas päringu.


Tootja konfiguratsioonid

NimiTüüpVaikimisiTähtsusKirjeldus
boostrap.serversNimekiri kõrgeHost/port grupp, et luua ühendus kafka klastriga. Andmed laaditakse ühtlaselt kõigi serverite vahel, sõltumata sellest, milline server on bootstrappinguks määratud. See loend mõjutab ainult initsialiseeritud hoste (mida kasutatakse kõigi serverite avastamiseks). See nimekirja formaat:
host1:port1,host2:port2,...
Kuna neid servereid kasutatakse ainult ühenduste initsialiseerimiseks, et avastada klastri kõik liikmed (mis võivad dünaamiliselt muutuda), ei pea see nimekiri sisaldama kõiki servereid (võid soovida rohkem kui ühte serverit, kuigi antud juhul võib üks server olla maas). Kui selles nimekirjas serverit ei ole, ebaõnnestub andmete saatmine enne, kui nimekiri on saadaval.
acksstring1kõrgeTootja vajab serverilt signaali, et kinnitada vastuvõttu pärast andmete vastuvõttu, ning see konfiguratsioon viitab sellele, kui palju selliseid kinnitussignaale prokuator vajab. See konfiguratsioon tähistab tegelikult andmete varukoopiate kättesaadavust. Levinud valikud on järgmised seadistused:
(1) acks=0: 0-le seatud tähendab, et tootja ei pea ootama saadud info kinnitust. Koopia lisatakse kohe pesa puhverile ja loetakse saadetuks. Sel juhul ei ole garantiid, et server on andmed edukalt vastu võtnud, ning konfiguratsiooni uuesti proovimine ei tööta (sest klient ei tea, kas see ebaõnnestus) ning tagasiside nihe on alati seatud -1-le.
(2) acks=1: See tähendab, et vähemalt tuleb oodata, kuni juht kirjutab andmed edukalt lokaalsesse logi, kuid mitte seda, et kõik järgijad kirjutaksid edukalt. Sellisel juhul, kui jälgija ei varundata andmeid edukalt ja juht katkestab kõne uuesti, kaob sõnum.
(3) acks=all: See tähendab, et juht peab ootama, kuni kõik varukoopiad edukalt logisid kirjutavad, ning see strateegia tagab, et andmed ei kao seni, kuni üks varukoopia säilib. See on kõige tugevam garantii.
(4) Võimalikud on ka muud seaded, nagu acks=2, mis nõuavad kindlat arvu acke, kuid seda strateegiat kasutatakse üldiselt harva.
buffer.memorypikk33554432kõrgeTootjat saab kasutada andmete mälusuuruse vahemällu salvestamiseks. Kui andmed genereeritakse kiiremini kui need maaklerile saadetakse, blokeerib või viskab tootja erandi, mida tähistatakse "block.on.buffer.full".

See seadistus sõltub tootja kasutatava kogu mäluga, kuid see ei ole kindel piirang, kuna mitte kogu tootja kasutatav mälu ei ole vahemällu salvestamiseks. Mõningane lisamälu kasutatakse tihendamiseks (kui tihendamine on kasutusele võetud) ja osa hoolduspäringute jaoks.
compression.typestringÜkskikõrgeTootja on tihendamise tüüp, mida kasutatakse andmete tihendamiseks. Vaikimisi on pakkimata. Õiged valikuväärtused on null, gzip, snappy.
Kompressiooni on kõige parem kasutada partiitöötluseks – mida rohkem sõnumeid töödeldakse partiidena, seda parem on tihendustulemus.
Kordusedint0kõrgeVäärtuse seadmine suuremaks kui 0 paneb kliendi saatma andmed uuesti, kui need andmed ebaõnnestuvad. Pane tähele, et need korduskatsed ei erine neist, kus klient saab saatmisvea. Lubab korduskatsetel muuta andmete järjekorda, kui mõlemad sõnumikirjed saadetakse samasse partitsiooni, ebaõnnestub esimene sõnum, teine sõnum ilmub varem kui esimene.
batch.sizeint16384KeskmineProdutsent püüab sõnumikirjeid partiiliselt töödelda, et vähendada päringute arvu. See parandab jõudlust kliendi ja serveri vahel. See konfiguratsioon kontrollib partiitöötluse sõnumite vaikimisi baitide arvu.
Sõnumibaite, mis on suuremad kui see baitide arv, ei tehta katseid.
Maakleritele saadetud päringud sisaldavad mitut partiid, mis sisaldavad ühte päringut iga partitsiooni kohta.
Väiksemad partiiväärtused on vähem kasutusel ja võivad vähendada läbilaskevõimet (0 kasutab ainult partiitöötlust). Suuremad partiiväärtused raiskavad rohkem mäluruumi, seega tuleb eraldada mälu konkreetsete partiiväärtuste jaoks.
client.idstring KeskmineSee string saadetakse serverisse, kui taotlus esitatakse. Eesmärk on suuta jälitada päringute allikat, et võimaldada mõnel IP/pordi lubade nimekirjast väljas oleval rakendusel saata infot. See rakendus saab määrata mistahes stringi, sest sellel pole muud funktsionaalset eesmärki kui salvestamine ja jälgimine
linger.mspikk0KeskmineProdutsentide grupp koondab kõik sõnumid, mis saabuvad päringu ja saatmise vahel, salvestades eraldi päringute kogumi. Tavaliselt juhtub see ainult siis, kui kirje genereeritakse kiiremini kui saatmiskiirus. Kuid teatud tingimustel soovib klient vähendada taotluste arvu või isegi mõõduka koormuseni. Seda seadistust tehakse väikese viivitusega – st selle asemel, et kirjet kohe saata, ootab tootja kindla viivituse aega, et lubada saata teisi sõnumikirjeid, mida saab partiiseerida. Seda võib pidada sarnaseks algoritmiks TCP Nagle'ile. See seadistus seab partii jaoks kõrgema latentsuspiiri: kui saame partitsiooni batch.size'i, saadab see selle kohe sõltumata sellest seadest, kuid kui saame sõnumi, mille baitide arv on palju väiksem kui sellel seadistusel, peame "viibima" kindla aja, et saada rohkem sõnumeid. See seade on vaikimisi 0, st viivitust pole. Näiteks linger.ms=5 seadistamine vähendab päringute arvu, kuid samal ajal suurendab viivitust 5 ms võrra.
max.request.sizeint1028576KeskmineMaksimaalne soovitud baitide arv. See on ka tõhus katvus maksimaalse registreeritud suuruse jaoks. Märkus: Serveril on oma sõnumite kirjete suuruste ülekirjutus, mis erinevad sellest seadest. See seadistus piirab tootjate korraga hulgisaadetavate päringute arvu, et vältida suurt päringute arvu.
receive.buffer.bytesint32768KeskmineTCP vastuvõtuvahemälu suurus, mida kasutatakse andmete lugemisel
send.buffer.bytesint131072KeskmineTCP saatmise vahemälu suurus, mida kasutatakse andmete saatmisel
timeout.msint30000KeskmineSee seadistusvalik kontrollib maksimaalset aega, mille jooksul server ootab jälgijate kinnitust. Kui kinnitatud taotluste arv ei ole selle aja jooksul täidetud, tagastatakse viga. See ajapiirangut mõõdetakse serveri poolel ega sisalda võrgu latentsust, sealhulgas päringuid
block.on.buffer.fullBooleantruemadalKui meie mäluvahemälu saab otsa, peame lõpetama uute sõnumikirjete vastuvõtmise või viskama vigu. Vaikimisi on see seatud tõele, kuid mõningane blokeerimine ei pruugi olla seda väärt, seega on parem kohe viga teha. See kehtib siis, kui seade on seatud false-le: tootja viskab erandivea: BufferExhaustedException, kui kirje on saadetud ja vahemälu on täis.
metadata.fetch.timeout.mspikk60000madalSee viitab esmakordsele andmetele mõnede elementide kohta, mille oleme saanud. Elemendid hõlmavad: teemat, hosti, partitsioone. See konfiguratsioon viitab ajale, mis kulub elemendi edukaks lõpetamiseks vastavalt toomisele, vastasel juhul saadetakse kliendile erand.
metadata.max.age.mspikk300000madalAeg mikrosekundites on intervall, mille jooksul sunnime metaandmeid uuendama. Isegi kui me ei näe ühtegi jaotuse juhtkonna muutust.
metric.reporteridNimekiri[]madalKlasside nimekiri, mida kasutatakse mõõdikute mõõtmiseks. MetricReporteri liidese rakendamine võimaldab lisada klasse, mis muutuvad uute mõõdikute genereerimisel. JmxReporter sisaldab alati võimalust JMX statistika registreerimiseks
metrics.num.samplesint2madalMõõdikute säilitamiseks kasutatavate valimite arv
metrics.sample.window.mspikk30000madalMõõdikusüsteem hoiab konfigureeritavat arvu proove korrigeeritavas akna suuruses. See konfiguratsioon konfigureerib näiteks akna suuruse. Võime hoida kahte proovi 30 sekundi jooksul. Kui aken lahti rullitakse, kustutame ja kirjutame vanima akna ümber
recoonect.backoff.mspikk10madalKui ühendus ebaõnnestub, siis ootamisaeg, kui uuesti ühendume. See väldib korduvaid kliendi taasühendamisi
retry.backoff.mspikk100madalOotamisaeg enne ebaõnnestunud tootmistaotluse uuesti proovimist. Väldi kinni jäämist "saat-ebaõnnestu" surnud tsüklisse.




Eelmine:【Practice】Eclipse installs lombok plugin
Järgmine:Java JMX on lihtne mõista ja kasutada
 Üürileandja| Postitatud 02.11.2021 14:10:57 |
server.properties konfiguratsioon

Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com