Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 10630|Atbildi: 1

Detalizēts skaidrojums par Kafka konfigurācijas parametriem

[Kopēt saiti]
Publicēts 24.06.2021 11:47:12 | | |
Brokeru konfigurācijas

ĪpašumsNoklusējumaApraksts
broker.id Katru brokeri var identificēt ar unikālu, nenegatīvu veselu skaitli ID; Šo ID var izmantot kā brokera "nosaukumu", un tā esamība ļauj brokerim migrēt uz citu resursdatoru / portu, nemulsinot patērētājus. Jūs varat izvēlēties jebkuru numuru, kas jums patīk kā ID, ja ID ir unikāls.
log.dirs/tmp/kafka-logsCeļš, kurā kafka glabā datus. Šis ceļš nav unikāls, tas var būt vairāki, un ceļi ir jāatdala tikai ar komatiem; Ikreiz, kad tiek izveidots jauns nodalījums, tiek izvēlēts to darīt ceļā, kurā ir vismazākais nodalījumu skaits.
Osta6667Serveris pieņem portu, ar kuru klients pieslēdzas
zookeeper.connectnulleZooKeeper savienojuma virknes formāts ir: hostname:port, kur resursdatora nosaukums un ports ir attiecīgi ZooKeeper klastera mezgla resursdators un ports. Lai izveidotu savienojumu ar citiem ZooKeeper mezgliem, kad resursdators nedarbojas, varat izveidot vairākus saimniekdatorus šādi:
hostname1:port1, hostname2:port2, hostname3:port3.

ZooKeeper ļauj jums pievienot "chroot" ceļu, lai saglabātu visus kafka datus klasterī ar noteiktu ceļu. Ja vairāki Kafka klasteri vai citas lietojumprogrammas izmanto vienu un to pašu ZooKeeper klasteri, varat izmantot šo metodi, lai iestatītu datu glabāšanas ceļu. To var īstenot, formatējot savienojuma virkni šādi:
hostname1:port1,hostname2:port2,hostname3:port3/chroot/path
Šis iestatījums saglabā visus kafka klastera datus ceļā /chroot/path. Ņemiet vērā, ka pirms brokera palaišanas jums ir jāizveido šis ceļš, un patērētājiem ir jāizmanto tas pats savienojuma formāts.
message.max.baiti1000000Maksimālais ziņojumu lielums, ko serveris var saņemt. Ir svarīgi, lai patērētāja un ražotāja iestatījumi attiecībā uz šo īpašumu būtu sinhronizēti, pretējā gadījumā ražotāja publicētais ziņojums patērētājam ir pārāk liels.
num.network.threads3Tīkla pavedienu skaits, ko serveris izmanto tīkla pieprasījumu apstrādei; Parasti šis rekvizīts nav jāmaina.
num.io.threads8I/O pavedienu skaits, ko serveris izmanto pieprasījumu apstrādei; Pavedienu skaitam jābūt vismaz vienādam ar cieto disku skaitu.
fons.pavedieni4Fona apstrādei, piemēram, failu dzēšanai, izmantoto pavedienu skaits; Šis rekvizīts nav jāmaina.
queued.max.Pieprasījumi500Maksimālais pieprasījumu skaits, ko var ievietot rindā, lai I/O pavediens tiktu apstrādāts, pirms tīkla pavediens pārtrauc lasīt jaunus pieprasījumus.
host.namenullebrokera resursdatora nosaukums; Ja resursdatora nosaukums jau ir iestatīts, brokeris būs saistīts tikai ar šo adresi; Ja nav iestatījuma, tas saistīsies ar visām saskarnēm un publicēs vienu kopiju ZK
advertised.host.namenulleJa tas ir iestatīts, tas tiek nosūtīts ražotājiem, patērētājiem un citiem brokeriem kā brokera resursdatora nosaukums
reklamēts.ostanulleŠī osta tiek dota ražotājiem, patērētājiem un citiem starpniekiem, un to izmanto, lai izveidotu savienojumu; Tas ir jāiestata tikai tad, ja faktiskais ports un ports, kas serverim ir jāsaista, atšķiras.
socket.send.buffer.bytes100 * 1024SO_SNDBUFF Kešatmiņas lielums, ko serveris izmanto, lai izveidotu ligzdu savienojumus
socket.receive.buffer.bytes100 * 1024SO_RCVBUFF kešatmiņas lielumu, ko serveris izmanto, lai izveidotu savienojumu ar ligzdām
socket.request.max.baiti100 * 1024 * 1024Maksimālais servera atļautais pieprasījuma lielums;  Tas novērsīs servera pārplūdi, kurai jābūt mazākai par Java kaudzes lielumu
skaits.starpsienas1Ja, veidojot tēmu, starpsienu skaits netiek norādīts, šis numurs būs noklusējuma nodalījumu skaits zem tēmas.
žurnāls.segments.baiti1014*1024*1024Tēmas nodalījuma žurnāli tiek glabāti daudzos failos noteiktā direktorijā, kas sadala nodalījuma žurnālus segmentos; Šis atribūts ir katra faila maksimālais lielums; Kad kategorijas sasniedz šo vērtību, tiek izveidots jauns fails. Šo iestatījumu var ignorēt, pamatojoties uz katras tēmas pamatu.
Skatīt  Hipersaites pieteikšanās ir redzama.
žurnāls.rullis.stundas24 * 7Pat ja fails nesasniedz log.segment.bytes, jauns fails tiek izveidots ikreiz, kad faila izveides laiks sasniedz šo rekvizītu. Šo iestatījumu var ignorēt arī tēmas līmeņa iestatījumi;
SkatsHipersaites pieteikšanās ir redzama.
log.cleanup.policysvītrot
log.retention.minutes un log.retention.hours7 dienasLaiks, kad katrs žurnālfails tika saglabāts pirms tā dzēšanas. Noklusējuma datu taupīšanas laiks ir vienāds visām tēmām.
log.retention.minutes un log.retention.bytes tiek izmantoti, lai iestatītu žurnālfailu dzēšanu neatkarīgi no tā, kurš rekvizīts ir pārpildīts.
Šo rekvizīta iestatījumu var ignorēt, ja tēma ir pamatā iestatīta.
SkatsHipersaites pieteikšanās ir redzama.
log.retention.bytes-1Kopējais datu apjoms, kas saglabāts katrā nodalījumā katrā tēmā; Ņemiet vērā, ka šī ir augšējā robeža vienam nodalījumam, tāpēc šis skaitlis, kas reizināts ar starpsienu skaitu, ir kopējais datu apjoms, kas tiek glabāts katrā tēmā. Ņemiet vērā arī: ja ir iestatīti gan log.retention.hours, gan log.retention.bytes, pārsniedzot kādu no ierobežojumiem, segmenta fails tiks izdzēsts.
Ņemiet vērā, ka šo iestatījumu var ignorēt katra tēma.
SkatsHipersaites pieteikšanās ir redzama.
log.retention.check.interval.ms5 minūtesPārbaudiet intervālu starp žurnāla segmentētajiem failiem, lai noteiktu, vai faila atribūti atbilst dzēšanas prasībām.
log.cleaner.enablefalseJa šis rekvizīts ir iestatīts uz false, tas tiks izdzēsts, tiklīdz žurnāls tiks saglabāts maksimālo laiku vai lielumu. Ja iestatīts uz true, tas notiks, kad saglabāšanas atribūts sasniegs augšējo robežuHipersaites pieteikšanās ir redzama.
log.cleaner.threads1Pavedienu skaits, kas veic žurnālu saspiešanu
log.cleaner.io.max.baiti.sekundēNeviensMaksimālais I/O skaits, kas var būt baļķu tīrītājam, veicot baļķu blīvēšanu. Šis iestatījums ierobežo tīrītāju, lai netraucētu aktīvo pieprasījumu pakalpojumus.
log.cleaner.io.buffer.size500*1024*1024Log Cleaner indeksē žurnālus tīrīšanas procesa laikā un samazina izmantotās kešatmiņas lielumu. Vislabāk ir iestatīt to lielu, lai nodrošinātu pietiekamu atmiņu.
log.cleaner.io.buffer.load.factor512*1024I/O gabala lielums, kas nepieciešams baļķu tīrīšanai. Šis iestatījums nav jāmaina.
log.cleaner.io.buffer.load.factor0.9baļķu tīrīšanā izmantotās jaucējtabulas slodzes koeficients; Šī opcija nav jāmaina.
log.cleaner.backoff.ms15000Tiek veikts laika intervāls, kurā tiek iztīrīts žurnāls
log.cleaner.min.cleanable.ratio0.5Šī konfigurācija kontrolē, cik bieži baļķu blīvētājs mēģina iztīrīt baļķus (pieņemot, kaHipersaites pieteikšanās ir redzama.ir atvērts). Pēc noklusējuma izvairieties no vairāk nekā 50% baļķu tīrīšanas. Šī attiecība ir saistīta ar maksimālo vietu, ko patērē rezerves žurnāls (50% žurnālu ir saspiesti 50%). Augstāka likme nozīmē mazāk atkritumu un vairāk vietas var iztīrīt efektīvāk. Šo iestatījumu var ignorēt katrā tēmas iestatījumā.
SkatsHipersaites pieteikšanās ir redzama.
log.cleaner.delete.retention.ms1dienauzglabāšanas laiks; Maksimālais laiks saspiestu žurnālu glabāšanai; Tas ir arī maksimālais laiks, kad klients patērē ziņojumus, un atšķirība starp log.retention.minutes ir tāda, ka viens kontrolē nesaspiestos datus, bet otrs kontrolē saspiestos datus, kas tiks pārrakstīti par norādīto laiku, kad tēma tiek izveidota.
log.index.size.max.baiti10*1024*1024Maksimālais baļķu segmenta lielums. Ņemiet vērā, ka, ja žurnāla lielums sasniedz šo vērtību, ir jāģenerē jauns žurnāla segments pat tad, ja lielums nepārsniedz log.segment.bytes ierobežojumu.
log.index.interval.bytes4096Veicot iegūšanu, jums ir jāskenē tuvākais nobīde ar noteiktu vietu, jo lielāks iestatījums, jo labāk, parasti izmantojiet noklusējuma vērtību
log.flush.interval.messagesLong.MaxValueŽurnālfails "sinhronizēts" ar disku pirms ziņojumu uzkrāšanas. Tā kā diska IO operācijas ir lēna darbība, bet arī nepieciešams līdzeklis "datu uzticamībai", pārbaudiet, vai ir nepieciešams laika intervāls, lai izārstētu cieto disku. Ja šī vērtība ir pārāk liela, tas novedīs pie pārāk ilga "sinhronizācijas" laika (IO bloķēšana), ja šī vērtība ir pārāk maza, tas novedīs pie ilga "fsync" laika (IO bloķēšana), ja šī vērtība ir pārāk maza, tas novedīs pie liela skaita "sinhronizācijas" reižu, kas nozīmē, ka kopējam klienta pieprasījumam ir noteikta kavēšanās, un fiziskā servera kļūme novedīs pie ziņojumu zaudēšanas bez fsync.
log.flush.scheduler.interval.msLong.MaxValuePārbaudiet, vai ir nepieciešami fsync intervāli
log.flush.interval.msLong.MaxValueŠis numurs tiek izmantots, lai kontrolētu "fsync" laika intervālu, ja ziņojumu skaits nekad nesasniedz diskā nostiprināto ziņojumu skaitu, bet laika intervāls no pēdējās diska sinhronizācijas sasniedz slieksni, tiks aktivizēta arī diska sinhronizācija.
log.delete.delay.ms60000Saglabāšanas laiks pēc faila notīrīšanas indeksā parasti nav jāmaina
auto.create.topics.enabletrueVai atļaut automātisku tēmu izveidi. Ja tā ir taisnība, tas automātiski izveidos tēmu, kas nepastāv, kad ražošana vai iegūšana nepastāv. Pretējā gadījumā tēmas izveidei jāizmanto komandrinda
controller.socket.timeout.ms30000Kontaktligzdas taimauta laiks, kad nodalījuma pārvaldības kontrolieris veic dublēšanu.
kontrolieris.ziņojums.rinda.izmērsInt.MaxValuekontrolieris uz brokeri-channles
noklusējums.replikācija.faktors1Rezerves kopiju noklusējuma skaits attiecas tikai uz automātiski izveidotām tēmām
replica.lag.time.max.ms10000Ja sekotājs šajā laikā nenosūta atgūšanas pieprasījumu, līderis atkārtoti noņems sekotāju no ISR un uzskatīs, ka sekotājs ir pakārts
replica.lag.max.ziņojumi4000Ja replikai ir vairāk nekā šis nedublēto skaits, līderis noņems sekotāju un uzskatīs, ka sekotājs ir pakārts
replica.socket.timeout.ms30*1000Līdera taimauta laiks ligzdu tīkla pieprasījumiem, dublējot datus
replica.socket.receive.buffer.bytes64*1024Ligzdas saņemšanas buferis, nosūtot tīkla pieprasījumu līderim dublēšanas laikā
replica.fetch.max.baiti1024*1024Katra iegūšanas maksimālā vērtība dublēšanas brīdī
replica.fetch.min.bytes500Maksimālais gaidīšanas laiks, līdz dati sasniedz līderi, kad vadītājs veic dublēšanas pieprasījumu
replica.fetch.min.bytes1Mazākais atbildes lielums pēc katras iegūšanas dublēšanas laikā
num.replica.fetchers1Pavedienu skaits, kas dublē datus no līnijas
replica.high.watermark.checkpoint.interval.ms5000Katra kopija pārbauda, cik bieži tiek sacietēts augstākais ūdens līmenis
fetch.purgatory.purge.interval.requests1000Iegūt pieprasījumu Attīrīšanas intervāls
producer.purgatory.purge.interval.requests1000Producents pieprasa attīrīšanas intervālu
zookeeper.session.timeout.ms6000Zoodārza uzturētāja sesijas taimauts.
zookeeper.connection.timeout.ms6000Maksimālais laiks, ko klients gaida, lai izveidotu savienojumu ar zoodārza uzturētāju
zookeeper.sync.time.ms2000ZK sekotājs visilgāk atpaliek no ZK līdera
kontrolēts.shutdown.enabletrueVai ir iespējams kontrolēt brokera slēgšanu. Ja iespējams, brokeris pirms slēgšanas varēs pārvietot visus līderus uz citiem brokeriem. Tas samazina nepieejamību izslēgšanas procesa laikā.
controlled.shutdown.max.atkārtoti mēģinājumi3Komandu skaits, kas var sekmīgi izpildīt izslēgšanu pirms nepilnīgas izslēgšanas.
controlled.shutdown.retry.backoff.ms5000Atgriešanās laiks starp izslēgumiem
auto.leader.rebalance.enabletrueJa tā ir taisnība, kontrolieris automātiski līdzsvaros brokeru vadību pār starpsienām
līderis.nelīdzsvarotība.per.brokeris.procenti10Maksimālais nelīdzsvarotības koeficients, ko pieļauj katrs brokeris
līderis.nelīdzsvarotība.pārbaudīt.intervāls.sekundes300Pārbaudiet līdera nelīdzsvarotības biežumu
offset.metadata.max.baiti4096Ļauj klientiem saglabāt maksimālo nobīdes skaitu
max.connections.per.ipInt.MaxValueMaksimālo savienojumu skaitu vienam brokerim var veikt uz katru IP adresi
max.connections.per.ip.overrides Maksimālais noklusējuma savienojuma pārklājums uz IP vai resursdatora nosaukumu
connections.max.idle.ms600000Taimauta ierobežojums tukšiem savienojumiem
log.roll.jitter. {ms,stundas}0Maksimālais trīču skaits, kas iegūts no logRollTimeMillis
num.recovery.threads.per.data.dir1Pavedienu skaits, ko katrs datu direktorijs izmanto atkopšanas reģistrēšanai
netīrs.līderis.vēlēšanās.iespējottrueNorāda, vai ISR ir iespējams izmantot iestatījumu non-replicas
dzēst.topic.enablefalseVar dzēst tēmas
offsets.topic.num.partitions50Starpsienu skaits korespondenta tēmai. Tā kā šī pakalpojuma maiņa pēc izvietošanas pašlaik netiek atbalstīta, ieteicams izmantot augstāku iestatījumu ražošanai (piemēram, 100–200).
ofsets.topic.retention.minutes1440Nobīdes, kas pastāvējušas ilgāk par šo laika ierobežojumu, tiks atzīmētas kā gaidāmas dzēšanas
offsets.retention.check.interval.ms600000Ofseta pārvaldnieks pārbauda novecojušo nobīdes biežumu
ofsets.topic.replication.factor3Tēmas nobīdes dublējumkopiju skaits. Ieteicams iestatīt lielākus numurus, lai garantētu lielāku pieejamību
offset.topic.segment.bytes104857600kompensē tēmu.
offsets.load.buffer.size5242880Šis iestatījums ir saistīts ar partijas lielumu un tiek izmantots, lasot no nobīdes segmenta.
offsets.commit.required.acks-1Apstiprinājumu skaits ir jāiestata, pirms korespondents ir pieņemams, un parasti tas nav jāmaina


ĪpašumsNoklusējumaServera noklusējuma rekvizītsApraksts
tīrīšana.politikasvītrotlog.cleanup.policyVai nu "dzēst" vai "kompakts"; Šī virkne norāda, kā izmantot veco žurnāla daļu; Noklusējuma metode ("dzēst") izmetīs veco daļu, kad būs sasniegts to pārstrādes laiks vai izmēra ierobežojums. "kompakts" saspiedīs baļķus
delete.retention.ms86400000 (24 stundas)log.cleaner.delete.retention.msAtšķirība starp log.retention.minutes ir tāda, ka viens kontrolē nesaspiestus datus, bet otrs kontrolē saspiestus datus. Šo konfigurāciju var ignorēt piesprausšanas parametri, kad tiek izveidota tēma
flush.ziņojumiNevienslog.flush.interval.messagesŠī konfigurācija norāda laika intervālu, lai piespiest fsync žurnālus. Piemēram, ja šī opcija ir iestatīta uz 1, tad fsync ir nepieciešams pēc katra ziņojuma, un, ja iestatīts uz 5, fsync ir nepieciešams katriem 5 ziņojumiem. Kopumā ieteicams neiestatīt šo vērtību. Šī parametra iestatīšanai ir nepieciešams nepieciešamais kompromiss starp "datu uzticamību" un "veiktspēju". Ja šī vērtība ir pārāk liela, tas katru reizi izraisīs ilgu laiku "fsync" (IO bloķēšana), un, ja šī vērtība ir pārāk maza, tas novedīs pie liela skaita "fsync", kas nozīmē arī to, ka kopējā klienta pieprasījumā ir zināma aizkavēšanās. Fiziska servera kļūme izraisīs ziņojumu zudumu bez fsync.
flush.msNevienslog.flush.interval.msŠī konfigurācija tiek izmantota, lai piespraustu laika intervālu starp fsync žurnālu piespiešanu diskam; Piemēram, ja iestatīts uz 1000, tad fsync ir nepieciešams ik pēc 1000 ms. Šī opcija parasti nav ieteicama
indekss.intervāls.baiti4096log.index.interval.bytesNoklusējuma iestatījums nodrošina, ka ziņojumam tiek pievienots indekss ik pēc 4096 baitiem, un vairāk indeksu padara lasāmo ziņojumu tuvāku, bet indeksa lielums tiks palielināts. Šī opcija parasti nav nepieciešama
maks.ziņojums.baiti1000000maks.ziņojums.baitiKafkas pievienošanas ziņojuma maksimālais lielums. Ņemiet vērā, ka, palielinot šo lielumu, jums ir jāpalielina arī patērētāja iegūšanas lielums, lai patērētājs varētu iegūt ziņojumus līdz maksimālajam izmēram.
min.tīrāms.netīrs.attiecība0.5min.tīrāms.netīrs.attiecībaŠī konfigurācija kontrolē, cik bieži žurnālu kompresors mēģina iztīrīt žurnālus. Pēc noklusējuma tiks izvairīti no žurnāliem, kuru saspiešanas pakāpe pārsniedz 50%. Šī attiecība ļauj izvairīties no vislielākās telpas izšķērdēšanas
min.insync.replicas1min.insync.replicasJa producents ir iestatīts uz request.required.acks uz -1, min.insync.replicas norāda minimālo repliku skaitu (katrai repica rakstīšanai jābūt veiksmīgai), un, ja šis skaitlis netiek sasniegts, producents radīs izņēmumu.
saglabāšana.baitiNevienslog.retention.bytesJa izmantojat saglabāšanas politiku "dzēst", šī konfigurācija attiecas uz maksimālo lielumu, ko žurnāls var sasniegt pirms tā dzēšanas. Pēc noklusējuma nav lieluma ierobežojuma, bet tikai laika ierobežojums
retention.ms7 dienaslog.retention.minutesJa izmantojat saglabāšanas politiku "dzēst", šī konfigurācija attiecas uz laiku, kad žurnāls tika saglabāts pirms dzēšanas žurnāla.
segments.baiti1 GBžurnāls.segments.baitiKafkā žurnālu žurnāli tiek glabāti gabalos, un šī konfigurācija attiecas uz gabalos sadalīto žurnālu lielumu
segments.indekss.baiti10 MBlog.index.size.max.baitiŠī konfigurācija ir aptuveni indeksa faila lielums, kas kartēts starp nobīdēm un failu atrašanās vietām; Šī konfigurācija parasti nav jāmaina
segment.ms7 dienasžurnāls.rullis.stundasPat ja žurnāla gabala fails nesasniedz dzēšamo vai saspiesto lielumu, tiklīdz žurnāla laiks sasniegs šo augšējo robežu, tiks piespiests jauns žurnāla gabala fails
segment.jitter.ms0 log.roll.jitter. {ms,stundas}Maksimālā trīce, kas jāatņem no logRollTimeMillis.


Patērētāju konfigurācijas

ĪpašumsNoklusējumaApraksts
group.id Virkne, kas unikāli identificē grupu, kurā atrodas patērētāja process, un, ja ir iestatīts tas pats grupas ID, tas nozīmē, ka šie procesi pieder tai pašai patērētāju grupai
zookeeper.connect Norādiet Zookeeper savienojuma virkni, formāts ir hostname:port, šeit resursdators un osta ir gan Zookeeper servera resursdators, gan ports, lai izvairītos no kontakta zaudēšanas pēc Zookeeper mašīnas nokrišanas, varat norādīt vairākus hostname:ports, izmantojot komatus kā atdalīšanu:
resursdatora nosaukums1:ports1,resursdatora nosaukums2:ports2,resursdatora nosaukums3:ports3
Jūs varat pievienot ZooKeeper chroot ceļu ZooKeeper savienojuma virknei, kas tiek izmantota savu datu glabāšanai, tādā veidā:
hostname1:port1,hostname2:port2,hostname3:port3/chroot/path
consumer.idnulleIestatīšana nav nepieciešama, un parasti tā tiek ģenerēta automātiski
socket.timeout.ms30*100Tīkla pieprasījumu taimauta ierobežojumi. Patiesais taimauta ierobežojums ir max.fetch.wait+socket.timeout.ms
socket.receive.buffer.bytes64*1024Ligzda tiek izmantota, lai saņemtu tīkla pieprasījumu kešatmiņas lielumu
fetch.message.max.baiti1024*1024Maksimālais baitu skaits vienā izgūšanas ziņojumā vienā iegūšanas pieprasījumā. Šie baiti tiks uzraudzīti katram nodalījumam izmantotajā atmiņā, tāpēc šis iestatījums kontrolēs patērētāja izmantotās atmiņas apjomu. Iegūšanas pieprasījuma lielumam jābūt vismaz vienādam ar maksimālo ziņojuma lielumu, ko pieļauj serveris, pretējā gadījumā ziņojuma lielums, ko ražotājs var nosūtīt, ir lielāks par apjomu, ko patērētājs var patērēt.
num.consumer.fetchers1Datu iegūšanai izmantoto iegūšanas pavedienu skaits
auto.commit.enabletrueJa tā ir patiesa, patērētāja saņemtā ziņojuma nobīde tiks automātiski sinhronizēta ar zoodārza turētāju. Šo saistību nobīdi jaunais patērētājs izmantos, kad process uzkars
auto.commit.interval.ms60*1000Biežums, kādā patērētājs iesniedz kompensāciju zoodārza turētājam, ir sekundēs
queued.max.message.chunks2Maksimālais ziņojumu skaits, kas tiek izmantots kešatmiņā patēriņam. Katram gabalam jābūt tādam pašam kā fetch.message.max.baitiem
rebalance.max.atkārtoti mēģinājumi4Kad patērētāju grupai tiek pievienots jauns patērētājs, patērētāju kopums cenšas līdzsvarot katram patērētājam piešķirto nodalījumu skaitu. Ja mainās patērētāju iekasēšana, šī līdzsvarošana neizdodas un atkal tiek īstenota, kad tiek veikta piešķiršana
fetch.min.baiti1Minimālais baitu skaits, kas serverim jāatgriež ar katru iegūšanas pieprasījumu. Ja netiek atgriezts pietiekami daudz datu, pieprasījums gaida, līdz tiek atgriezts pietiekami daudz datu.
fetch.wait.max.ms100Ja nav pietiekami daudz datu, lai apmierinātu fetch.min.bytes, šī konfigurācija attiecas uz maksimālo laiku, ko serveris bloķēs pirms atbildes uz iegūšanas pieprasījumu.
rebalance.backoff.ms2000Atgriešanās laiks pirms atkārtotas pārbaudes mēģinājuma
refresh.leader.backoff.ms200Ir jāgaida laiks, pirms mēģināt noteikt, vai nodalījuma līderis ir zaudējis savu vadību
auto.offset.resetlielākaisJa zookeeper nav inicializētas nobīdes, ja nobīde ir atbilde uz šādu vērtību:
mazākais: automātiska nobīde uz mazāko nobīdi
lielākais: automātiskā atiestatīšana nobīde uz lielāko nobīdi
jebkas cits: izmet izņēmumu patērētājam
consumer.timeout.ms-1Ja ziņojums nav pieejams, pat pēc noteikta laika gaidīšanas tiek izmests taimauta izņēmums
izslēgt.iekšējās.tēmastrueVai patērētājiem parādīt ziņojumus no iekšējām tēmām
paritition.uzdevums.stratēģijadiapazonsAtlasiet politiku nodalījumu piešķiršanai patērētāja plūsmai, pēc izvēles diapazons, apaļš
client.idGrupas ID vērtībair lietotājam specifiska virkne, kas palīdz izsekot zvanus katrā pieprasījumā. Tam loģiski jāapstiprina lietojumprogramma, kas ģenerēja pieprasījumu
zookeeper.session.timeout.ms6000Zoodārza uzturētāju sesiju taimauta ierobežojumi. Ja patērētājs šajā laikā nenosūta sirdsdarbības ziņojumu zoodārza turētājam, tas tiek uzskatīts par pakārtu un tiks ģenerēta līdzība
zookeeper.connection.timeout.ms6000Maksimālais gaidīšanas laiks, lai klients izveidotu Zookeeper savienojumu
zookeeper.sync.time.ms2000ZK sekotāji var maksimāli atpalikt no ZK līdera
ofsets.uzglabāšanaZoodārza uzturētājsVietas, ko izmanto nobīdes glabāšanai: zoodārza uzturētājs vai kafka
offset.channel.backoff.ms1000Atpakaļgaitas laiks, kad atkārtoti izveidots savienojums ar nobīdes kanālu vai atkārtoti mēģināts iegūt / izpildīt neveiksmīgās nobīdes pieprasījumu
offsets.channel.socket.timeout.ms10000Ligzdas taimauta ierobežojums atbildei uz atgūšanas/izpildes pieprasījuma atbildi, nolasot nobīdi. Šo taimauta ierobežojumu izmanto patērētāja metadatu pieprasījums, lai pieprasītu nobīdes pārvaldību
offsets.commit.max.atkārtoti mēģinājumi5Cik reižu korespondents tika atkārtots. Šis atkārtotais mēģinājums tiek lietots tikai kompensācijas saistībām starp izslēgšanu. viņš
dual.commit.enabledtrueJa izmantojat "kafka" kā offsets.storage, jūs varat veikt nobīdi zookeeper divas reizes (un vienu reizi kafka). Tas ir obligāti, migrējot no zoodārza turētāja ofseta krātuves uz kafkas bāzes ofseta krātuvi. Jebkurai patērētāju grupai ir drošs ieteikums izslēgt šo opciju, kad migrācija ir pabeigta
partition.assignment.strategydiapazonsIzvēlieties starp "diapazona" un "apaļā" politikām kā politiku nodalījumu piešķiršanai patērētāju datu plūsmām; Apļveida starpsienu sadalītājs sadala visas pieejamās starpsienas, kā arī visus pieejamos patērētāju pavedienus. Tas piešķirs nodalījuma cilpu patērētāja pavedienam. Ja visi patērētāju gadījumi ir parakstīti uz noteiktu, starpsienas tiek sadalītas deterministiskos sadalījumos. Apaļā sadales stratēģija ir iespējama tikai tad, ja ir izpildīti šādi nosacījumi: (1) Katrai tēmai ir vienāds datu plūsmu skaits uz patērētāja stiprumu. (2) Abonēto tēmu kolekcija tiek noteikta katram patērētāju grupas gadījumam.


Producentu konfigurācijas

ĪpašumsNoklusējumaApraksts
metadati.broker.saraksts Pasniedziet bootstrapping. Producents tiek izmantots tikai, lai iegūtu metadatus (tēmas, starpsienas, replikas). Ligzdas savienojums faktisko datu nosūtīšanai tiks izveidots, pamatojoties uz atgrieztajiem metadatu datiem. Formāts ir:
host1:port1,host2:port2
Šis saraksts var būt brokeru apakšsaraksts vai VIP, kas norāda uz brokeriem
pieprasījums.nepieciešams.acks0Šī konfigurācija ir apstiprinājuma vērtība, kas norāda, kad ražošanas pieprasījums tiek uzskatīts par pabeigtu. Jo īpaši, cik daudziem citiem brokeriem ir jāiesniedz dati savos žurnālos un jāapstiprina šī informācija savam vadītājam. Tipiskās vērtības ir šādas:
0: norāda, ka ražotājs nekad negaida apstiprinājumu no brokera (tāda pati darbība kā 0,7). Šī opcija nodrošina vismazāko latentumu, bet tajā pašā laikā vislielāko risku (jo dati tiek zaudēti, kad serveris nedarbojas).
1: norāda, ka līdera replika ir saņēmusi datu apstiprinājumu. Šai opcijai ir zems latentums, un tā nodrošina, ka serveris apstiprina, ka tā ir saņemta.
-1: Producents saņem apstiprinājumu, ka visas sinhronizētās kopijas ir saņēmušas datus. Latentums ir vislielākais, tomēr šī metode pilnībā nenovērš ziņojumu zaudēšanas risku, jo sinhronizēto repliku skaits var būt 1. Ja vēlaties nodrošināt, ka dažas replikas saņem datus, tēmas līmeņa iestatījumos jāiestata opcija min.insync.replicas. Izlasiet dizaina dokumentāciju, lai iegūtu padziļinātu diskusiju.
request.timeout.ms10000Brokeris cenšas īstenot request.required.acks prasību, pretējā gadījumā klientam tiks nosūtīta kļūda
ražotājs.tipsSinhronizācijaŠī opcija nosaka, vai ziņojums tiek nosūtīts asinhroni fona pavedienā. Pareizās vērtības:
(1) asinhrona: asinhrona sūtīšana
(2) sinhronizācija: sinhronizēta sūtīšana
Iestatot ražotāju uz asinhronu, mēs varam apstrādāt pieprasījumus partijās (kas ir labi lielākai caurlaidspējai), bet tas arī rada iespēju, ka klienta mašīna zaudēs nenosūtītos datus
serializators.klasekafka.serializer.DefaultEncoderZiņojuma serializācijas kategorija. Noklusējuma kodētājs ievada vienu baitu[] un atgriež to pašu baitu[]
key.serializer.class Atslēgvārdu serializācijas klase. Ja tas nav norādīts, noklusējums atbilst ziņojumam
sadalītājs.klasekafka.producer.DefaultPartitionersadalītāja klase, lai sadalītu ziņojumus starp apakštēmām. Noklusējuma sadalītājs ir balstīts uz atslēgas jaucējkodu tabulu
saspiešana.kodekuneviensŠis parametrs var iestatīt kodeku datu saspiešanai, ko var izvēlēties kā "nav", "gzip", "snappy".
saspiestas.tēmasnulleŠo parametru var izmantot, lai iestatītu, vai noteiktas tēmas ir saspiestas. Ja saspiestais kodeku nav NoCompressCodec, šie kodeki tiek lietoti norādītajiem tēmu datiem. Ja saspiesto tēmu saraksts ir tukšs, lietojiet konkrēto saspiesto kodeku visām tēmām. Ja saspiestais kodeku ir NoCompressionCodec, saspiešana nav pieejama visām tēmām.
message.send.max.atkārtoti mēģinājumi3Šis parametrs liks ražotājam automātiski atkārtoti mēģināt neveiksmīgus sūtīšanas pieprasījumus. Šis parametrs nosaka mēģinājumu skaitu. Piezīme: Iestatot vērtību, kas nav 0, atkārtosies noteiktas tīkla kļūdas: izraisīs sūtīšanu un apstiprinājuma zaudēšanu
retry.backoff.ms100Pirms katra atkārtota mēģinājuma producents atjaunina attiecīgās tēmas metadatus, lai redzētu, vai ir piešķirts jaunais vadītājs. Tā kā līdera izvēle aizņem nedaudz laika, šī opcija norāda, cik ilgi ražotājam jāgaida pirms metadatu atjaunināšanas.
topic.metadata.refresh.interval.ms600*1000Producents parasti atjaunina tēmas metadatus dažos kļūmju scenārijos (trūkst nodalījuma, līderis nav pieejams utt.). Viņš izies cauri regulāram ciklam. Ja iestatāt negatīvu vērtību, metadati tiks atjaunināti tikai tad, ja tas neizdodas. Ja iestatīts uz 0, metadati tiek atjaunināti pēc katra ziņojuma nosūtīšanas (šī opcija nav ieteicama, jo sistēma patērē pārāk daudz). Svarīgi: atjauninājumi notiek tikai pēc ziņojuma nosūtīšanas, tāpēc, ja producents nekad nenosūta ziņojumu, metadati nekad netiek atjaunināti.
queue.buffering.max.ms5000Maksimālais laika intervāls, kurā lietotājs saglabā datus kešatmiņā, kad tiek lietots asinhronais režīms. Piemēram, ja ziņojums ir iestatīts uz 100, ziņojumi 100 ms laikā tiks apstrādāti paketēs. Tas uzlabos caurlaidspēju, bet palielinās latentumu kešatmiņas dēļ.
queue.buffering.max.ziņojumi10000Izmantojot asinhrono režīmu, ir jābloķē maksimālais nenosūtīto ziņojumu skaits, ko var saglabāt kešatmiņā rindā pirms producenta, vai arī dati ir jāzaudē
partijas numurs.ziņojumi200Izmantojot asinhrono režīmu, varat partijas apstrādāt maksimālo ziņojumu skaitu. Vai arī ziņojumu skaits ir sasniedzis to tiešsaistē vai queue.buffer.max.ms ir pienākusi, un producents to apstrādās
sūtīt.buferis.baiti100*1024ligzdas rakstīšanas kešatmiņas lielums
client.id“”Šis klienta ID ir lietotājam specifiska virkne, kas ir iekļauta katrā pieprasījumā, lai izsekotu zvanu, un viņam loģiski jāspēj apstiprināt, ka lietojumprogramma ir veikusi pieprasījumu.


Producentu konfigurācijas

VārdsVeidsNoklusējumaNozīmeApraksts
boostrap.serveriSaraksts augstsResursdatora/portu grupa, lai izveidotu savienojumu ar kafkas klasteri. Dati tiks vienmērīgi ielādēti visos serveros neatkarīgi no tā, kurš serveris ir paredzēts bootstrapping. Šis saraksts ietekmē tikai inicializētos resursdatorus (kas tiek izmantoti, lai atklātu visus serverus). Šis saraksta formāts:
host1:port1,host2:port2,...
Tā kā šie serveri tiek izmantoti tikai, lai inicializētu savienojumus, lai atklātu visas klastera dalības (kas var mainīties dinamiski), šajā sarakstā nav jāiekļauj visi serveri (iespējams, vēlaties vairāk nekā vienu serveri, lai gan šajā gadījumā viens serveris var nedarboties). Ja šajā sarakstā nav redzams neviens serveris, datu sūtīšana neizdosies, kamēr saraksts nav pieejams.
Aksvirkne1augstsRažotājam ir nepieciešams signāls no servera, lai apstiprinātu saņemšanu pēc datu saņemšanas, un šī konfigurācija attiecas uz to, cik daudz šādu apstiprinājuma signālu ir nepieciešami procuderim. Šī konfigurācija faktiski atspoguļo datu dublējumu pieejamību. Tālāk norādītie iestatījumi ir izplatītākās opcijas.
(1) acks=0: iestatīts uz 0 nozīmē, ka ražotājam nav jāgaida saņemtās informācijas apstiprinājums. Replika tiks nekavējoties pievienota ligzdas buferim un uzskatīta par nosūtītu. Nav garantijas, ka serveris šajā gadījumā ir veiksmīgi saņēmis datus, un konfigurācijas atkārtots mēģinājums nedarbosies (jo klients nezina, vai tas neizdevās), un atgriezeniskās saites nobīde vienmēr tiks iestatīta uz -1.
(2) acks=1: Tas nozīmē, ka vismaz pagaidiet, kamēr līderis veiksmīgi ierakstīs datus vietējā žurnālā, bet ne visi sekotāji veiksmīgi rakstīs. Šajā gadījumā, ja sekotājs veiksmīgi nedublē datus un līderis atkal uzkarinās, ziņojums tiks zaudēts.
(3) acks=all: Tas nozīmē, ka vadītājam ir jāgaida, kamēr visi dublējumi veiksmīgi raksta žurnālus, un šī stratēģija nodrošinās, ka dati netiks zaudēti, kamēr izdzīvo viens dublējums. Tā ir spēcīgākā garantija.
(4) Ir iespējami arī citi iestatījumi, piemēram, acks=2, kam būs nepieciešams noteikts skaits acks, bet šī stratēģija parasti tiek izmantota reti.
buferis.atmiņagarš33554432augstsProducentu var izmantot, lai kešatmiņā saglabātu datu atmiņas lielumu. Ja dati tiek ģenerēti ātrāk, nekā tie tiek nosūtīti brokerim, ražotājs bloķēs vai izmetīs izņēmumu, kas norādīts ar "block.on.buffer.full".

Šis iestatījums būs saistīts ar kopējo atmiņu, ko producents var izmantot, taču tas nav stingrs ierobežojums, jo ne visa ražotāja izmantotā atmiņa tiek izmantota kešatmiņai. Daļa papildu atmiņas tiek izmantota saspiešanai (ja tiek ieviesta saspiešana), un daļa tiek izmantota uzturēšanas pieprasījumiem.
saspiešana.tipsvirkneneviensaugstsRažotājs ir saspiešanas veids, ko izmanto datu saspiešanai. Noklusējums ir nesaspiests. Pareizās opciju vērtības ir none, gzip, snappy.
Saspiešanu vislabāk izmantot pakešu apstrādei, jo vairāk ziņojumu tiek apstrādāti partijās, jo labāka ir saspiešanas veiktspēja.
Atkārtoti mēģinājumiint0augstsIestatot vērtību, kas lielāka par 0, klients atkārtoti nosūtīs visus datus, tiklīdz šie dati neizdodas. Ņemiet vērā, ka šie atkārtotie mēģinājumi neatšķiras no tiem, kad klients saņem sūtīšanas kļūdu. Ļauj atkārtoti mēģināt mainīt datu secību, ja abi ziņojumu ieraksti tiek nosūtīti uz vienu un to pašu nodalījumu, pirmais ziņojums neizdodas, otrais ziņojums parādās agrāk nekā pirmais ziņojums.
partijas lielumsint16384Vidējas intensitātes sāpesProducents mēģinās ziņojumu ierakstus sadalīt, lai samazinātu pieprasījumu skaitu. Tas uzlabos veiktspēju starp klientu un serveri. Šī konfigurācija kontrolē pakešu apstrādes ziņojumu noklusējuma baitu skaitu.
Netiek mēģināts apstrādāt ziņojumu baitus, kas ir lielāki par šo baitu skaitu.
Brokeriem nosūtītie pieprasījumi saturēs vairākas partijas, kas saturēs vienu pieprasījumu katram nodalījumam.
Mazākas partijas vērtības tiek izmantotas mazāk un var samazināt caurlaidspēju (0 izmantos tikai pakešu apstrādi). Lielākas partijas vērtības tērē vairāk atmiņas vietas, tāpēc jums ir jāpiešķir atmiņa noteiktām partijas vērtībām.
client.idvirkne Vidējas intensitātes sāpesŠī virkne tiek nosūtīta uz serveri, kad tiek veikts pieprasījums. Mērķis ir izsekot pieprasījumu avotam, lai ļautu dažām lietojumprogrammām ārpus IP/Port atļauto sarakstu nosūtīt informāciju. Šī lietotne var iestatīt jebkuru virkni, jo tai nav cita funkcionāla mērķa, izņemot ierakstīšanu un izsekošanu
linger.msgarš0Vidējas intensitātes sāpesRažotāju grupa apkopos visus ziņojumus, kas saņemti starp pieprasījumu un nosūtīšanu, reģistrējot atsevišķu pieprasījumu partiju. Parasti tas notiek tikai tad, ja ieraksts tiek ģenerēts ātrāk nekā sūtīšanas ātrums. Tomēr noteiktos apstākļos klients vēlēsies samazināt pieprasījumu skaitu vai pat mērenu slodzi. Šī iestatīšana tiks veikta, pievienojot nelielu aizkavi, t.i., tā vietā, lai nekavējoties nosūtītu ierakstu, producents gaidīs noteiktu aizkaves laiku, lai ļautu nosūtīt citus ziņojumu ierakstus, kurus var pakotnēt. To var uzskatīt par līdzīgu algoritmu TCP Nagle. Šis iestatījums nosaka augstāku latentuma robežu pakešošanai: tiklīdz mēs saņemam nodalījuma batch.size, tas nekavējoties nosūtīs to neatkarīgi no šī iestatījuma, bet, ja mēs saņemam ziņojumu ar daudz mazāku baitu skaitu nekā šis iestatījums, mums ir nepieciešams "kavēties" noteiktu laiku, lai saņemtu vairāk ziņojumu. Šis iestatījums pēc noklusējuma ir 0, t.i., bez kavēšanās. Piemēram, iestatot linger.ms=5, samazināsies pieprasījumu skaits, bet tajā pašā laikā palielinās kavēšanos par 5 ms.
max.request.sizeint1028576Vidējas intensitātes sāpesMaksimālais pieprasītais baitu skaits. Tas ir arī efektīvs segums maksimālajam reģistrētajam izmēram. Piezīme: Serverim ir sava ziņojumu ierakstu lielumu ignorēšana, kas atšķiras no šī iestatījuma. Šis iestatījums ierobežo pieprasījumu skaitu, ko ražotāji var nosūtīt lielapjomā vienlaikus, lai novērstu lielu pieprasījumu skaitu.
saņemšanas.bufera.baitiint32768Vidējas intensitātes sāpesTCP saņemšanas kešatmiņas lielums, kas tiek izmantots, lasot datus
sūtīt.buferis.baitiint131072Vidējas intensitātes sāpesTCP sūtīšanas kešatmiņas lielums, kas tiek izmantots, nosūtot datus
timeout.msint30000Vidējas intensitātes sāpesŠī konfigurācijas opcija kontrolē maksimālo laiku, kad serveris gaida apstiprinājumu no sekotājiem. Ja apstiprināto pieprasījumu skaits šajā laikā netiek izpildīts, tiek atgriezta kļūda. Šis taimauta ierobežojums tiek mērīts servera pusē, un tam nav tīkla latentuma, ieskaitot pieprasījumus
bloķēt.uz.buferis.pilnsBūlatruezemsKad mūsu atmiņas kešatmiņa beidzas, mums jāpārtrauc saņemt jaunus ziņojumu ierakstus vai mest kļūdas. Pēc noklusējuma tas ir iestatīts uz true, tomēr dažus bloķējumus var nebūt vērts gaidīt, tāpēc labāk uzreiz izmest kļūdu. Tas attiecas uz false: producents izmet izņēmuma kļūdu: BufferExhaustedException, ja ieraksts ir nosūtīts un kešatmiņa ir pilna
metadata.fetch.timeout.msgarš60000zemsTas attiecas uz dažu elementu pirmo reizi, ko mēs esam ieguvuši. Elementi ietver: tēmu, resursdatoru, starpsienas. Šī konfigurācija attiecas uz laiku, kas nepieciešams, lai elements veiksmīgi pabeigtu saskaņā ar fetch, pretējā gadījumā klientam tiks nosūtīts izņēmums.
metadata.max.age.msgarš300000zemsLaiks mikrosekundēs ir intervāls, kurā mēs piespiežam atjaunināt metadatus. Pat ja mēs neredzam nekādas nodalījuma vadības izmaiņas.
metric.reportieriSaraksts[]zemsMetrikas mērīšanai izmantoto klašu saraksts. MetricReporter saskarnes ieviešana ļaus pievienot klases, kas mainās, kad tiek ģenerēti jauni rādītāji. JmxReporter vienmēr iekļaus veidu, kā reģistrēt JMX statistiku
metrics.num.samplesint2zemsMetrikas uzturēšanai izmantoto paraugu skaits
metrics.sample.window.msgarš30000zemsMetrikas sistēma uztur konfigurējamu paraugu skaitu koriģējamā loga izmērā. Šī konfigurācija konfigurē, piemēram, loga izmēru. Mēs varam saglabāt divus paraugus 30 gadu laikā. Kad logs tiek izvilkts, mēs izdzēšam un pārrakstām vecāko logu
recoonect.backoff.msgarš10zemsKad savienojums neizdodas, gaidīšanas laiks, kad mēs atkal izveidojam savienojumu. Tas ļauj izvairīties no atkārtotiem klientu savienojumiem
retry.backoff.msgarš100zemsGaidīšanas laiks, pirms mēģināt atkārtoti mēģināt neveiksmīgu ražošanas pieprasījumu. Izvairieties no iestrēgšanas sūtīšanas-neveiksmes strupceļā.




Iepriekšējo:【Prakse】 Eclipse instalē lombok spraudni
Nākamo:Java JMX ir vienkārši saprotams un lietojams
 Saimnieks| Publicēts 02.11.2021 14:10:57 |
server.properties konfigurācija

Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com