Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 10630|Απάντηση: 1

Λεπτομερής επεξήγηση των παραμέτρων διαμόρφωσης Kafka

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 24/6/2021 11:47:12 π.μ. | | |
Διαμορφώσεις μεσίτη

ΙδιοκτησίαΠροεπιλογήΠεριγραφή
broker.id Κάθε μεσίτης μπορεί να αναγνωριστεί με ένα μοναδικό μη αρνητικό ακέραιο αναγνωριστικό. Αυτό το αναγνωριστικό μπορεί να χρησιμοποιηθεί ως το "όνομα" του μεσίτη και η ύπαρξή του επιτρέπει στον μεσίτη να μεταβεί σε διαφορετικό κεντρικό υπολογιστή/θύρα χωρίς να μπερδεύει τους καταναλωτές. Μπορείτε να επιλέξετε όποιον αριθμό θέλετε ως αναγνωριστικό, αρκεί το αναγνωριστικό να είναι μοναδικό.
log.dirs/tmp/kafka-logsΗ διαδρομή όπου ο Κάφκα αποθηκεύει δεδομένα. Αυτό το μονοπάτι δεν είναι μοναδικό, μπορεί να είναι πολλαπλό και τα μονοπάτια χρειάζεται μόνο να χωρίζονται με κόμματα. Κάθε φορά που δημιουργείται ένα νέο διαμέρισμα, επιλέγεται να το κάνει κάτω από τη διαδρομή που περιέχει τον μικρότερο αριθμό κατατμήσεων.
Λιμάνι6667Ο διακομιστής αποδέχεται τη θύρα στην οποία συνδέεται ο πελάτης
φύλακας ζωολογικού κήπου.σύνδεσηάκυροςΗ μορφή της συμβολοσειράς σύνδεσης ZooKeeper είναι: hostname:port, όπου hostname και port είναι ο κεντρικός υπολογιστής και η θύρα ενός κόμβου στο σύμπλεγμα ZooKeeper, αντίστοιχα. Για να συνδεθείτε με άλλους κόμβους ZooKeeper όταν ένας κεντρικός υπολογιστής πέφτει, μπορείτε να δημιουργήσετε πολλούς κεντρικούς υπολογιστές ως εξής:
hostname1:port1, hostname2:port2, hostname3:port3.

Το ZooKeeper σάς επιτρέπει να προσθέσετε μια διαδρομή "chroot" για να αποθηκεύσετε όλα τα δεδομένα kafka στο σύμπλεγμα κάτω από μια συγκεκριμένη διαδρομή. Όταν πολλά συμπλέγματα Kafka ή άλλες εφαρμογές χρησιμοποιούν το ίδιο σύμπλεγμα ZooKeeper, μπορείτε να χρησιμοποιήσετε αυτήν τη μέθοδο για να ορίσετε τη διαδρομή αποθήκευσης δεδομένων. Αυτό μπορεί να υλοποιηθεί με τη μορφοποίηση της συμβολοσειράς σύνδεσης ως εξής:
hostname1:port1,hostname2:port2,hostname3:port3/chroot/path
Αυτή η ρύθμιση αποθηκεύει όλα τα δεδομένα του συμπλέγματος kafka κάτω από τη διαδρομή /chroot/path. Σημειώστε ότι πριν ξεκινήσετε τον μεσίτη, πρέπει να δημιουργήσετε αυτήν τη διαδρομή και οι καταναλωτές πρέπει να χρησιμοποιούν την ίδια μορφή σύνδεσης.
message.max.bytes1000000Το μέγιστο μέγεθος των μηνυμάτων που μπορεί να λάβει ένας διακομιστής. Είναι σημαντικό οι ρυθμίσεις του καταναλωτή και του παραγωγού σχετικά με αυτήν την ιδιότητα να είναι συγχρονισμένες, διαφορετικά το μήνυμα που δημοσιεύεται από τον παραγωγό είναι πολύ μεγάλο για τον καταναλωτή.
num.network.threads3Ο αριθμός των νημάτων δικτύου που χρησιμοποιούνται από τον διακομιστή για την επεξεργασία αιτημάτων δικτύου. Γενικά, δεν χρειάζεται να αλλάξετε αυτήν την ιδιότητα.
num.io.threads8Ο αριθμός των νημάτων I/O που χρησιμοποιούνται από τον διακομιστή για την επεξεργασία αιτημάτων. Ο αριθμός των νημάτων πρέπει να είναι τουλάχιστον ίσος με τον αριθμό των σκληρών δίσκων.
φόντο.νήματα4Ο αριθμός των νημάτων που χρησιμοποιούνται για την επεξεργασία παρασκηνίου, όπως η διαγραφή αρχείων. Δεν χρειάζεται να αλλάξετε αυτήν την ιδιότητα.
queued.max.αιτήματα500Ο μέγιστος αριθμός αιτήσεων που μπορούν να τοποθετηθούν στην ουρά για επεξεργασία από ένα νήμα εισόδου/εξόδου πριν ένα νήμα δικτύου σταματήσει να διαβάζει νέες αιτήσεις.
host.nameάκυροςόνομα κεντρικού υπολογιστή του μεσίτη· Εάν το όνομα κεντρικού υπολογιστή έχει ήδη οριστεί, ο μεσίτης θα δεσμευτεί μόνο σε αυτήν τη διεύθυνση. Εάν δεν υπάρχει ρύθμιση, θα συνδεθεί σε όλες τις διεπαφές και θα δημοσιεύσει ένα αντίγραφο στο ZK
advertised.host.nameάκυροςΕάν οριστεί, αποστέλλεται σε παραγωγούς, καταναλωτές και άλλους μεσίτες ως το όνομα κεντρικού υπολογιστή του μεσίτη
διαφημιστής.λιμάνιάκυροςΑυτή η θύρα δίνεται σε παραγωγούς, καταναλωτές και άλλους μεσίτες και χρησιμοποιείται για τη δημιουργία σύνδεσης. Χρειάζεται να ρυθμιστεί μόνο εάν η πραγματική θύρα και η θύρα που πρέπει να δεσμεύσει ο διακομιστής είναι διαφορετικές.
socket.send.buffer.bytes100 * 1024SO_SNDBUFF Μέγεθος προσωρινής μνήμης, το οποίο χρησιμοποιεί ο διακομιστής για να κάνει συνδέσεις υποδοχών
socket.receive.buffer.bytes100 * 1024SO_RCVBUFF μέγεθος προσωρινής μνήμης, το οποίο χρησιμοποιείται από τον διακομιστή για σύνδεση σε υποδοχές
socket.request.max.bytes100 * 1024 * 1024Το μέγιστο μέγεθος αιτήματος που επιτρέπεται από τον διακομιστή.  Αυτό θα αποφύγει τις υπερχειλίσεις διακομιστή, οι οποίες θα πρέπει να είναι μικρότερες από το μέγεθος του σωρού Java
num.partitions1Εάν ο αριθμός των κατατμήσεων δεν δίνεται κατά τη δημιουργία ενός θέματος, αυτός ο αριθμός θα είναι ο προεπιλεγμένος αριθμός κατατμήσεων κάτω από το θέμα.
log.τμήμα.bytes1014*1024*1024Τα αρχεία καταγραφής του θεματικού διαμερίσματος αποθηκεύονται σε πολλά αρχεία σε έναν συγκεκριμένο κατάλογο, τα οποία χωρίζουν τα αρχεία καταγραφής του διαμερίσματος σε τμήματα. Αυτό το χαρακτηριστικό είναι το μέγιστο μέγεθος κάθε αρχείου. Όταν οι διαστάσεις φτάσουν σε αυτήν την τιμή, δημιουργείται ένα νέο αρχείο. Αυτή η ρύθμιση μπορεί να παρακαμφθεί από τη βάση κάθε θέματος.
Προβολή  Η σύνδεση με υπερσύνδεσμο είναι ορατή.
log.roll.ώρες24 * 7Ακόμα και αν το αρχείο δεν φτάσει στο log.segment.bytes, δημιουργείται ένα νέο αρχείο κάθε φορά που ο χρόνος δημιουργίας του αρχείου φτάσει σε αυτήν την ιδιότητα. Αυτή η ρύθμιση μπορεί επίσης να παρακαμφθεί από ρυθμίσεις σε επίπεδο θέματος.
ΆποψηΗ σύνδεση με υπερσύνδεσμο είναι ορατή.
log.cleanup.πολιτικήΔιαγραφή
log.retention.minutes και log.retention.hours7 ημέρεςΟ χρόνος αποθήκευσης κάθε αρχείου καταγραφής πριν από τη διαγραφή του. Ο προεπιλεγμένος χρόνος εξοικονόμησης δεδομένων είναι ο ίδιος για όλα τα θέματα.
Τα log.retention.minutes και log.retention.bytes χρησιμοποιούνται και τα δύο για τον ορισμό της διαγραφής των αρχείων καταγραφής, ανεξάρτητα από το ποια ιδιότητα έχει υπερχειλίσει.
Αυτή η ρύθμιση ιδιότητας μπορεί να παρακαμφθεί όταν το θέμα έχει οριστεί βασικά.
ΆποψηΗ σύνδεση με υπερσύνδεσμο είναι ορατή.
log.retention.bytes-1Ο συνολικός όγκος δεδομένων που αποθηκεύονται από κάθε διαμέρισμα σε κάθε θέμα. Σημειώστε ότι αυτό είναι το ανώτατο όριο ανά διαμέρισμα, επομένως αυτός ο αριθμός πολλαπλασιασμένος με τον αριθμό των κατατμήσεων είναι η συνολική ποσότητα δεδομένων που αποθηκεύονται ανά θέμα. Σημειώστε επίσης: Εάν έχουν οριστεί και τα δύο log.retention.hours και log.retention.bytes, η υπέρβαση οποιουδήποτε ορίου θα προκαλέσει τη διαγραφή ενός αρχείου τμήματος.
Σημειώστε ότι αυτή η ρύθμιση μπορεί να παρακαμφθεί από κάθε θέμα.
ΆποψηΗ σύνδεση με υπερσύνδεσμο είναι ορατή.
log.retention.check.interval.ms5 λεπτάΕλέγξτε το διάστημα μεταξύ των τμηματοποιημένων αρχείων καταγραφής για να προσδιορίσετε εάν τα χαρακτηριστικά του αρχείου πληρούν τις απαιτήσεις διαγραφής.
log.cleaner.ενεργοποίησηfalseΌταν αυτή η ιδιότητα οριστεί σε false, θα διαγραφεί μόλις αποθηκευτεί το αρχείο καταγραφής για μέγιστο χρονικό διάστημα ή μέγεθος. Εάν οριστεί σε true, θα συμβεί όταν το χαρακτηριστικό save φτάσει στο ανώτατο όριοΗ σύνδεση με υπερσύνδεσμο είναι ορατή.
log.cleaner.threads1Ο αριθμός των νημάτων που εκτελούν συμπίεση καταγραφής
log.cleaner.io.max.bytes.ανά.δευτερόλεπτοΚανέναςΟ μέγιστος αριθμός εισόδων/εξόδων που μπορεί να έχει ένας καθαριστής κορμών κατά την εκτέλεση συμπίεσης κορμών. Αυτή η ρύθμιση περιορίζει το καθαριστικό για να αποφευχθεί η παρεμβολή σε ενεργές υπηρεσίες αιτημάτων.
log.cleaner.io.buffer.size500*1024*1024Η Εκκαθάριση αρχείων καταγραφής ευρετηριάζει τα αρχεία καταγραφής κατά τη διαδικασία εκκαθάρισης και μειώνει το μέγεθος της μνήμης cache που χρησιμοποιείται. Είναι καλύτερο να το ρυθμίσετε μεγάλο για να παρέχει άφθονη μνήμη.
log.cleaner.io.buffer.load.factor512*1024Το μέγεθος του κομματιού I/O που απαιτείται για τον καθαρισμό κορμών. Δεν χρειάζεται να αλλάξετε αυτήν τη ρύθμιση.
log.cleaner.io.buffer.load.factor0.9συντελεστής φορτίου του πίνακα κατακερματισμού που χρησιμοποιείται για τον καθαρισμό των κορμών· Δεν χρειάζεται να αλλάξετε αυτήν την επιλογή.
log.cleaner.backoff.ms15000Εκτελείται το χρονικό διάστημα κατά το οποίο γίνεται η εκκαθάριση του αρχείου καταγραφής
log.cleaner.min.cleanable.ratio0.5Αυτή η ρύθμιση ελέγχει πόσο συχνά ο συμπυκνωτής αρχείων καταγραφής προσπαθεί να καθαρίσει τα αρχεία καταγραφήςΗ σύνδεση με υπερσύνδεσμο είναι ορατή.είναι ανοιχτό). Από προεπιλογή, αποφύγετε τον καθαρισμό περισσότερο από το 50% των κορμών. Αυτή η αναλογία συνδέεται με τον μέγιστο χώρο που καταναλώνεται από το αρχείο καταγραφής αντιγράφων ασφαλείας (το 50% των αρχείων καταγραφής συμπιέζεται στο 50%). Ένα υψηλότερο ποσοστό σημαίνει λιγότερα απόβλητα και περισσότερος χώρος μπορεί να καθαριστεί πιο αποτελεσματικά. Αυτή η ρύθμιση μπορεί να παρακαμφθεί σε κάθε ρύθμιση θέματος.
ΆποψηΗ σύνδεση με υπερσύνδεσμο είναι ορατή.
log.cleaner.delete.retention.ms1ημέραχρόνος αποθήκευσης; Ο μέγιστος χρόνος διατήρησης συμπιεσμένων αρχείων καταγραφής. Είναι επίσης ο μέγιστος χρόνος για τον πελάτη να καταναλώσει μηνύματα και η διαφορά μεταξύ του log.retention.minutes είναι ότι το ένα ελέγχει τα ασυμπίεστα δεδομένα και το άλλο ελέγχει τα συμπιεσμένα δεδομένα, τα οποία θα αντικατασταθούν μέχρι την καθορισμένη ώρα δημιουργίας του θέματος.
log.index.size.max.bytes10*1024*1024Το μέγιστο μέγεθος ανά τμήμα κορμών. Σημειώστε ότι εάν το μέγεθος του αρχείου καταγραφής φτάσει αυτήν την τιμή, πρέπει να δημιουργηθεί ένα νέο τμήμα καταγραφής ακόμα και αν το μέγεθος δεν υπερβαίνει το όριο log.segment.bytes.
log.index.interval.bytes4096Όταν εκτελείτε μια ανάκτηση, πρέπει να σαρώσετε την πλησιέστερη μετατόπιση με συγκεκριμένο χώρο, όσο μεγαλύτερη είναι η ρύθμιση, τόσο το καλύτερο, χρησιμοποιήστε γενικά την προεπιλεγμένη τιμή
log.flush.interval.μηνύματαΜεγάλη.ΜέγιστηΤιμήΚαταγράψτε το αρχείο "συγχρονισμός" στο δίσκο πριν από τη συγκέντρωση μηνυμάτων. Επειδή οι λειτουργίες IO δίσκου είναι μια αργή λειτουργία, αλλά και ένα απαραίτητο μέσο "αξιοπιστίας δεδομένων", ελέγξτε εάν απαιτείται το χρονικό διάστημα για τη σκλήρυνση στον σκληρό δίσκο. Εάν αυτή η τιμή είναι πολύ μεγάλη, θα οδηγήσει σε πολύ μεγάλο χρόνο "συγχρονισμού" (αποκλεισμός IO), εάν αυτή η τιμή είναι πολύ μικρή, θα οδηγήσει σε μεγάλο χρονικό διάστημα "fsync" (αποκλεισμός IO), εάν αυτή η τιμή είναι πολύ μικρή, θα οδηγήσει σε μεγάλο αριθμό χρόνων "συγχρονισμού", πράγμα που σημαίνει ότι το συνολικό αίτημα πελάτη έχει μια ορισμένη καθυστέρηση και η αποτυχία του φυσικού διακομιστή θα οδηγήσει σε απώλεια μηνυμάτων χωρίς fsync.
log.flush.scheduler.interval.msΜεγάλη.ΜέγιστηΤιμήΕλέγξτε εάν απαιτούνται διαστήματα fsync
log.flush.interval.msΜεγάλη.ΜέγιστηΤιμήΑυτός ο αριθμός χρησιμοποιείται για τον έλεγχο του χρονικού διαστήματος του "fsync", εάν ο αριθμός των μηνυμάτων δεν φτάσει ποτέ τον αριθμό των μηνυμάτων που στερεοποιούνται στο δίσκο, αλλά το χρονικό διάστημα από τον τελευταίο συγχρονισμό δίσκου φτάσει στο όριο, θα ενεργοποιηθεί επίσης ο συγχρονισμός δίσκου.
log.delete.delay.ms60000Ο χρόνος διατήρησης μετά την εκκαθάριση του αρχείου στο ευρετήριο γενικά δεν χρειάζεται να τροποποιηθεί
auto.create.topics.enabletrueΕάν θα επιτρέπεται η αυτόματη δημιουργία θεμάτων. Εάν αληθεύει, θα δημιουργήσει αυτόματα ένα θέμα που δεν υπάρχει όταν δεν υπάρχει παραγωγή ή ανάκτηση. Διαφορετικά, πρέπει να χρησιμοποιήσετε τη γραμμή εντολών για να δημιουργήσετε ένα θέμα
controller.socket.timeout.ms30000Ο χρόνος λήξης του χρονικού ορίου της υποδοχής όταν ο ελεγκτής διαχείρισης διαμερισμάτων εκτελεί ένα αντίγραφο ασφαλείας.
ελεγκτής.μήνυμα.ουρά.μέγεθοςInt.MaxValueελεγκτής-σε-μεσίτη-κανάλια
default.replication.factor1Ο προεπιλεγμένος αριθμός αντιγράφων ασφαλείας αναφέρεται μόνο σε θέματα που δημιουργούνται αυτόματα
replica.lag.time.max.ms10000Εάν ένας ακόλουθος δεν στείλει αίτημα ανάκτησης εντός αυτού του χρονικού διαστήματος, ο αρχηγός θα αφαιρέσει ξανά τον ακόλουθο από το ISR και θα θεωρήσει ότι ο ακόλουθος έχει κρεμαστεί
replica.lag.max.μηνύματα4000Εάν ένα αντίγραφο έχει περισσότερα από αυτόν τον αριθμό μη αντιγράφων ασφαλείας, ο αρχηγός θα αφαιρέσει τον ακόλουθο και θα θεωρήσει ότι ο ακόλουθος είναι κρεμασμένος
replica.socket.timeout.ms30*1000Χρόνος χρονικού ορίου Leader για αιτήματα δικτύου υποδοχής κατά τη δημιουργία αντιγράφων ασφαλείας δεδομένων
replica.socket.receive.buffer.bytes64*1024Υποδοχή λήψης buffer κατά την αποστολή αιτήματος δικτύου στον οδηγό κατά τη δημιουργία αντιγράφων ασφαλείας
replica.fetch.max.bytes1024*1024Η μέγιστη τιμή κάθε ανάκτησης κατά τη στιγμή της δημιουργίας αντιγράφων ασφαλείας
replica.fetch.min.bytes500Ο μέγιστος χρόνος αναμονής για να φτάσουν τα δεδομένα στον επικεφαλής όταν ο επικεφαλής κάνει ένα αίτημα δημιουργίας αντιγράφων ασφαλείας
replica.fetch.min.bytes1Το μικρότερο μέγεθος της απόκρισης μετά από κάθε ανάκτηση κατά τη δημιουργία αντιγράφων ασφαλείας
num.replica.fetchers1Ο αριθμός των νημάτων που δημιουργούν αντίγραφα ασφαλείας δεδομένων από τον ηγέτη
replica.high.watermark.checkpoint.interval.ms5000Κάθε αντίγραφο ελέγχει πόσο συχνά ωριμάζει η υψηλότερη στάθμη νερού
fetch.purgatory.purge.interval.requests1000Αίτημα ανάκτησης του διαστήματος εκκαθάρισης
producer.purgatory.purge.interval.requests1000Ο παραγωγός ζητά ένα διάστημα εκκαθάρισης
zookeeper.session.timeout.ms6000Τάιμ άουτ συνεδρίας φύλακα ζωολογικού κήπου.
zookeeper.connection.timeout.ms6000Το μέγιστο χρονικό διάστημα που περιμένει ο πελάτης για να δημιουργήσει μια σύνδεση με τον φύλακα του ζωολογικού κήπου
zookeeper.sync.time.ms2000Το ZK Follower υστερεί σε σχέση με το ZK Leader για το μεγαλύτερο χρονικό διάστημα
ελεγχόμενο.shutdown.enabletrueΕάν είναι δυνατός ο έλεγχος του κλεισίματος του μεσίτη. Εάν είναι δυνατόν, ο μεσίτης θα μπορεί να μετακινήσει όλους τους ηγέτες σε άλλους μεσίτες πριν κλείσει. Αυτό μειώνει τη μη διαθεσιμότητα κατά τη διαδικασία τερματισμού λειτουργίας.
controlled.shutdown.max.επαναλήψεις3Ο αριθμός των εντολών που μπορούν να εκτελέσουν με επιτυχία έναν τερματισμό πριν από την εκτέλεση ενός ατελούς τερματισμού λειτουργίας.
controlled.shutdown.retry.backoff.ms5000χρόνος οπισθοδρόμησης μεταξύ τερματισμών λειτουργίας
auto.leader.rebalance.enabletrueΕάν αυτό ισχύει, ο ελεγκτής θα εξισορροπήσει αυτόματα την ηγεσία των μεσιτών στις κατατμήσεις
leader.ανισορροπία.per.broker.ποσοστό10Ο μέγιστος δείκτης ανισορροπίας που επιτρέπεται από κάθε μεσίτη
ηγέτης.ανισορροπία.έλεγχος.διάστημα.δευτερόλεπτα300Ελέγξτε τη συχνότητα της ανισορροπίας του οδηγού
offset.metadata.max.bytes4096Επιτρέπει στους πελάτες να αποθηκεύουν τον μέγιστο αριθμό των αντισταθμίσεών τους
max.connections.per.ipInt.MaxValueΟ μέγιστος αριθμός συνδέσεων ανά μεσίτη μπορεί να γίνει σε κάθε διεύθυνση IP
max.connections.per.ip.παρακάμψεις Η μέγιστη κάλυψη της προεπιλεγμένης σύνδεσης ανά IP ή όνομα κεντρικού υπολογιστή
connections.max.idle.ms600000Όριο χρονικού ορίου για κενές συνδέσεις
log.roll.jitter. {ms,ώρες}0Ο μέγιστος αριθμός τρεμούλιασμα που αφαιρέθηκε από το logRollTimeMillis
num.recovery.threads.per.data.dir1Ο αριθμός των νημάτων που χρησιμοποιεί κάθε κατάλογος δεδομένων για την καταγραφή της ανάκτησης
unclean.leader.election.enabletrueΥποδεικνύει εάν είναι δυνατή η χρήση της ρύθμισης μη ρεπλικών στο ISR ως επικεφαλής
delete.topic.enablefalseΔυνατότητα διαγραφής θεμάτων
offsets.topic.num.partitions50Ο αριθμός των κατατμήσεων για το θέμα υποβολής μετατόπισης. Επειδή η αλλαγή αυτής της ρύθμισης μετά την ανάπτυξη δεν υποστηρίζεται αυτήν τη στιγμή, συνιστούμε να χρησιμοποιήσετε μια υψηλότερη ρύθμιση για την παραγωγή (π.χ. 100-200).
offsets.topic.retention.minutes1440Οι μετατοπίσεις που έχουν υπάρξει περισσότερο από αυτό το χρονικό όριο θα επισημαίνονται ως εκκρεμείς διαγραφές
offsets.retention.check.interval.ms600000Ο διαχειριστής μετατόπισης ελέγχει τη συχνότητα των παλιών αντισταθμίσεων
offsets.topic.replication.factor3Ο αριθμός των αντιγράφων ασφαλείας της μετατόπισης του θέματος. Συνιστάται να ορίσετε υψηλότερους αριθμούς για να εξασφαλίσετε μεγαλύτερη διαθεσιμότητα
offset.topic.segment.bytes104857600αντισταθμίζει το θέμα.
offsets.load.buffer.size5242880Αυτή η ρύθμιση σχετίζεται με το μέγεθος της παρτίδας και χρησιμοποιείται κατά την ανάγνωση από το τμήμα αντισταθμίσεων.
offsets.commit.required.acks-1Ο αριθμός των επιβεβαιώσεων πρέπει να οριστεί πριν γίνει αποδεκτή η υποβολή μετατόπισης και γενικά δεν χρειάζεται να αλλάξει


ΙδιοκτησίαΠροεπιλογήΠροεπιλεγμένη ιδιότητα διακομιστήΠεριγραφή
cleanup.πολιτικήΔιαγραφήlog.cleanup.πολιτικήΕίτε "διαγραφή" είτε "συμπαγής". Αυτή η συμβολοσειρά υποδεικνύει πώς να χρησιμοποιήσετε το παλιό τμήμα καταγραφής. Η προεπιλεγμένη μέθοδος ("διαγραφή") θα απορρίψει το παλιό εξάρτημα όταν συμπληρωθεί ο χρόνος ανακύκλωσης ή το όριο μεγέθους τους. Το "Compact" θα συμπιέσει τα αρχεία καταγραφής
delete.retention.ms86400000 (24 ώρες)log.cleaner.delete.retention.msΗ διαφορά μεταξύ του log.retention.minutes είναι ότι το ένα ελέγχει τα ασυμπίεστα δεδομένα και το άλλο ελέγχει τα συμπιεσμένα δεδομένα. Αυτή η ρύθμιση μπορεί να παρακαμφθεί από τις παραμέτρους καρφιτσώματος κατά τη δημιουργία του θέματος
ξέπλυμα.μηνύματαΚανέναςlog.flush.interval.μηνύματαΑυτή η ρύθμιση παραμέτρων καθορίζει ένα χρονικό διάστημα για την επιβολή αρχείων καταγραφής fsync. Για παράδειγμα, εάν αυτή η επιλογή έχει οριστεί σε 1, τότε απαιτείται fsync μετά από κάθε μήνυμα και εάν έχει οριστεί σε 5, απαιτείται fsync για κάθε 5 μηνύματα. Γενικά, συνιστάται να μην ορίσετε αυτήν την τιμή. Η ρύθμιση αυτής της παραμέτρου απαιτεί τον απαραίτητο συμβιβασμό μεταξύ «αξιοπιστίας δεδομένων» και «απόδοσης». Εάν αυτή η τιμή είναι πολύ μεγάλη, θα προκαλέσει μεγάλο χρονικό διάστημα για "fsync" κάθε φορά (αποκλεισμός IO) και εάν αυτή η τιμή είναι πολύ μικρή, θα οδηγήσει σε μεγάλο αριθμό "fsync", πράγμα που σημαίνει επίσης ότι υπάρχει κάποια καθυστέρηση στο συνολικό αίτημα πελάτη. Η φυσική αποτυχία διακομιστή θα προκαλέσει την απώλεια μηνυμάτων χωρίς fsync.
flush.msΚανέναςlog.flush.interval.msΑυτή η διαμόρφωση χρησιμοποιείται για να καρφιτσώσει το χρονικό διάστημα μεταξύ της επιβολής αρχείων καταγραφής fsync στο δίσκο. Για παράδειγμα, εάν έχει οριστεί σε 1000, τότε απαιτείται fsync κάθε 1000ms. Αυτή η επιλογή γενικά δεν συνιστάται
index.interval.bytes4096log.index.interval.bytesΗ προεπιλεγμένη ρύθμιση διασφαλίζει ότι προσθέτουμε ένα ευρετήριο στο μήνυμα κάθε 4096 byte και περισσότερα ευρετήρια κάνουν το αναγνωσμένο μήνυμα πιο κοντά, αλλά το μέγεθος του ευρετηρίου θα αυξηθεί. Αυτή η επιλογή γενικά δεν απαιτείται
max.message.bytes1000000max.message.bytesΤο μέγιστο μέγεθος του μηνύματος προσάρτησης kafka. Λάβετε υπόψη ότι εάν αυξήσετε αυτό το μέγεθος, πρέπει επίσης να αυξήσετε το μέγεθος ανάκτησης του καταναλωτή σας, ώστε ο καταναλωτής να μπορεί να λαμβάνει μηνύματα σε αυτά τα μέγιστα μεγέθη.
min.cleanable.dirty.ratio0.5min.cleanable.dirty.ratioΑυτή η διαμόρφωση ελέγχει πόσο συχνά ο συμπιεστής κορμών επιχειρεί να καθαρίσει τα αρχεία καταγραφής. Από προεπιλογή, τα αρχεία καταγραφής με ρυθμό συμπίεσης άνω του 50% θα αποφεύγονται. Αυτή η αναλογία αποφεύγει τη μεγαλύτερη σπατάλη χώρου
min.insync.replicas1min.insync.replicasΌταν η πύλη παροχής έχει οριστεί σε request.required.acks σε -1, το min.insync.replicas καθορίζει τον ελάχιστο αριθμό ρεπλικών (κάθε εγγραφή repica πρέπει να είναι επιτυχής) και εάν δεν επιτευχθεί αυτός ο αριθμός, η πύλη παραγωγής θα δημιουργήσει μια εξαίρεση.
retention.bytesΚανέναςlog.retention.bytesΕάν χρησιμοποιείτε την πολιτική διατήρησης "διαγραφής", αυτή η ρύθμιση παραμέτρων αναφέρεται στο μέγιστο μέγεθος που μπορεί να επιτύχει το αρχείο καταγραφής πριν από τη διαγραφή του. Από προεπιλογή, δεν υπάρχει όριο μεγέθους αλλά μόνο χρονικό όριο
retention.ms7 ημέρεςlog.retention.λεπτάΕάν χρησιμοποιείτε την πολιτική διατήρησης "διαγραφή", αυτή η ρύθμιση παραμέτρων αναφέρεται στο χρόνο αποθήκευσης του αρχείου καταγραφής πριν από το αρχείο καταγραφής διαγραφής.
τμήμα.bytes1 GBlog.τμήμα.bytesΣτο Kafka, τα αρχεία καταγραφής αποθηκεύονται σε κομμάτια και αυτή η διαμόρφωση αναφέρεται στο μέγεθος των αρχείων καταγραφής χωρισμένο σε κομμάτια
τμήμα.index.bytes10 MBlog.index.size.max.bytesΑυτή η διαμόρφωση αφορά το μέγεθος του αρχείου ευρετηρίου που αντιστοιχίζεται μεταξύ μετατοπίσεων και θέσεων αρχείων. Αυτή η διαμόρφωση γενικά δεν χρειάζεται να τροποποιηθεί
segment.ms7 ημέρεςlog.roll.ώρεςΑκόμα κι αν το αρχείο τμήματος καταγραφής δεν φτάσει στο μέγεθος που πρέπει να διαγραφεί ή να συμπιεστεί, μόλις ο χρόνος καταγραφής φτάσει σε αυτό το ανώτατο όριο, θα επιβληθεί ένα νέο αρχείο τμήματος καταγραφής
segment.jitter.ms0 log.roll.jitter. {ms,ώρες}Το μέγιστο jitter που πρέπει να αφαιρεθεί από το logRollTimeMillis.


Ρυθμίσεις παραμέτρων καταναλωτή

ΙδιοκτησίαΠροεπιλογήΠεριγραφή
group.id Μια συμβολοσειρά που προσδιορίζει μοναδικά την ομάδα στην οποία βρίσκεται η διεργασία καταναλωτή και, εάν έχει οριστεί το ίδιο αναγνωριστικό ομάδας, αυτό σημαίνει ότι αυτές οι διεργασίες ανήκουν στην ίδια ομάδα καταναλωτών
φύλακας ζωολογικού κήπου.σύνδεση Καθορίστε τη συμβολοσειρά της σύνδεσης Zookeeper, η μορφή είναι hostname:port, εδώ ο κεντρικός υπολογιστής και η θύρα είναι τόσο ο κεντρικός υπολογιστής όσο και η θύρα του διακομιστή Zookeeper, για να αποφύγετε την απώλεια επαφής μετά την πτώση ενός μηχανήματος Zookeeper, μπορείτε να καθορίσετε πολλαπλά hostname:ports, χρησιμοποιώντας κόμματα ως διαχωρισμό:
hostname1:θύρα1,hostname2:port2,hostname3:port3
Μπορείτε να προσθέσετε τη διαδρομή chroot του ZooKeeper στη συμβολοσειρά σύνδεσης ZooKeeper, η οποία χρησιμοποιείται για την αποθήκευση των δικών της δεδομένων, με έναν τρόπο:
hostname1:port1,hostname2:port2,hostname3:port3/chroot/path
consumer.idάκυροςΔεν απαιτείται ρύθμιση και γενικά δημιουργείται αυτόματα
socket.timeout.ms30*100Χρονικά όρια για αιτήματα δικτύου. Το πραγματικό όριο χρονικού ορίου είναι max.fetch.wait+socket.timeout.ms
socket.receive.buffer.bytes64*1024Η υποδοχή χρησιμοποιείται για τη λήψη του μεγέθους της προσωρινής μνήμης των αιτημάτων δικτύου
fetch.message.max.bytes1024*1024Ο μέγιστος αριθμός byte ανά μήνυμα ανάκτησης ανά αίτημα ανάκτησης. Αυτά τα byte θα επιβλέπονται στη μνήμη που χρησιμοποιείται για κάθε διαμέρισμα, επομένως αυτή η ρύθμιση θα ελέγχει την ποσότητα μνήμης που χρησιμοποιείται από τον καταναλωτή. Το μέγεθος του αιτήματος ανάκτησης πρέπει να είναι τουλάχιστον ίσο με το μέγιστο μέγεθος μηνύματος που επιτρέπεται από τον διακομιστή, διαφορετικά το μέγεθος του μηνύματος που μπορεί να στείλει ο παραγωγός είναι μεγαλύτερο από το μέγεθος που μπορεί να καταναλώσει ο καταναλωτής.
num.consumer.fetchers1Ο αριθμός των νημάτων ανάκτησης που χρησιμοποιούνται για την ανάκτηση δεδομένων
auto.commit.enabletrueΕάν αληθεύει, η μετατόπιση του μηνύματος που λαμβάνεται από τον καταναλωτή θα συγχρονιστεί αυτόματα με τον φύλακα του ζωολογικού κήπου. Αυτή η μετατόπιση δέσμευσης θα χρησιμοποιηθεί από τον νέο καταναλωτή όταν η διεργασία τερματιστεί
auto.commit.interval.ms60*1000Η συχνότητα με την οποία ο καταναλωτής υποβάλλει μετατόπιση στον φύλακα του ζωολογικού κήπου είναι σε δευτερόλεπτα
queued.max.μήνυμα.κομμάτια2Ο μέγιστος αριθμός μηνυμάτων που χρησιμοποιούνται για την προσωρινή αποθήκευση για κατανάλωση. Κάθε κομμάτι πρέπει να είναι το ίδιο με το fetch.message.max.bytes
rebalance.max.επαναλήψεις4Όταν ένας νέος καταναλωτής προστίθεται σε μια ομάδα καταναλωτών, η συλλογή καταναλωτών επιχειρεί να εξισορροπήσει εκ νέου τον αριθμό των κατατμήσεων που έχουν εκχωρηθεί σε κάθε καταναλωτή. Εάν αλλάξει η είσπραξη των καταναλωτών, αυτή η επανεξισορρόπηση αποτυγχάνει και επανεγκαθίσταται κατά την εκτέλεση της κατανομής
fetch.min.bytes1Ο ελάχιστος αριθμός byte που πρέπει να επιστρέφει ο διακομιστής με κάθε αίτημα ανάκτησης. Εάν δεν επιστραφούν αρκετά δεδομένα, το αίτημα περιμένει μέχρι να επιστραφούν αρκετά δεδομένα.
fetch.wait.max.ms100Εάν δεν υπάρχουν αρκετά δεδομένα για να ικανοποιήσουν το fetch.min.bytes, αυτή η διαμόρφωση αναφέρεται στο μέγιστο χρονικό διάστημα που θα αποκλείσει ο διακομιστής πριν απαντήσει σε ένα αίτημα ανάκτησης.
rebalance.backoff.ms2000Χρόνος οπισθοδρόμησης πριν από την επανάληψη της επανάληψης
refresh.leader.backoff.ms200Υπάρχει ένας χρόνος υποχώρησης για να περιμένετε πριν προσπαθήσετε να προσδιορίσετε εάν ο ηγέτης μιας διχοτόμησης έχει χάσει την ηγεσία του
auto.offset.resetμεγαλύτεροΕάν δεν υπάρχει αρχικοποιημένη μετατόπιση στο zookeeper, εάν η μετατόπιση είναι μια απάντηση στην ακόλουθη τιμή:
μικρότερο: Αυτόματη επαναφορά μετατόπισης στη μικρότερη μετατόπιση
largest: Αυτόματη επαναφορά της μετατόπισης στη μετατόπιση της μεγαλύτερης
οτιδήποτε άλλο: ρίχνει μια εξαίρεση στον καταναλωτή
consumer.timeout.ms-1Εάν δεν υπάρχει διαθέσιμο μήνυμα, ακόμη και μετά από αναμονή για ένα συγκεκριμένο χρονικό διάστημα, δημιουργείται μια εξαίρεση χρονικού ορίου
exclude.internal.topicstrueΕάν θα εκτεθούν μηνύματα από εσωτερικά θέματα στους καταναλωτές
paritition.ανάθεση.στρατηγικήΕύροςΕπιλέξτε την πολιτική για την αντιστοίχιση διαμερισμάτων στη ροή καταναλωτή, προαιρετικά περιοχή, roundrobin
client.idΤιμή αναγνωριστικού ομάδαςείναι μια συμβολοσειρά για συγκεκριμένο χρήστη που βοηθά στην παρακολούθηση κλήσεων σε κάθε αίτημα. Θα πρέπει λογικά να επιβεβαιώσει την εφαρμογή που δημιούργησε το αίτημα
zookeeper.session.timeout.ms6000Όρια χρονικού ορίου για συνεδρίες φύλακα ζωολογικού κήπου. Εάν ο καταναλωτής δεν στείλει μήνυμα καρδιακού παλμού στον φύλακα του ζωολογικού κήπου κατά τη διάρκεια αυτής της περιόδου, θεωρείται ότι έχει κλείσει το τηλέφωνο και θα δημιουργηθεί μια απάντηση
zookeeper.connection.timeout.ms6000Ο μέγιστος χρόνος αναμονής για έναν πελάτη να δημιουργήσει μια σύνδεση Zookeeper
zookeeper.sync.time.ms2000Οι οπαδοί του ZK μπορούν να μείνουν πίσω από τον αρχηγό του ZK για μέγιστο χρονικό διάστημα
offsets.αποθήκευσηΦύλακας ζωολογικού κήπουΜέρη που χρησιμοποιούνται για την αποθήκευση μετατοπίσεων: φύλακας ζωολογικού κήπου ή κάφκα
offset.channel.backoff.ms1000Ο χρόνος επιστροφής της επανασύνδεσης στο κανάλι μετατοπίσεων ή της επανάληψης της αίτησης ανάκτησης/δέσμευσης της αποτυχημένης μετατόπισης
offsets.channel.socket.timeout.ms10000Το όριο χρονικού ορίου υποδοχής για την απόκριση στην απόκριση αιτήματος ανάκτησης/δέσμευσης κατά την ανάγνωση της μετατόπισης. Αυτό το χρονικό όριο χρησιμοποιείται από το αίτημα consumerMetadata για να ζητήσει διαχείριση μετατόπισης
offsets.commit.max.επαναλήψεις5Ο αριθμός των επαναλήψεων της υποβολής μετατόπισης. Αυτή η επανάληψη εφαρμόζεται μόνο για την αντιστάθμιση υποβολών μεταξύ τερματισμού λειτουργίας. τον
dual.commit.enabledtrueΕάν χρησιμοποιείτε το "kafka" ως offsets.storage, μπορείτε να δεσμεύσετε μετατόπιση στον φύλακα του ζωολογικού κήπου δύο φορές (και μία στον κάφκα). Αυτό είναι απαραίτητο κατά τη μετάβαση από την αποθήκευση όφσετ που βασίζεται σε ζωολογικό κήπο στην αποθήκευση όφσετ που βασίζεται στον κάφκα. Για κάθε δεδομένη ομάδα καταναλωτών, είναι μια ασφαλής σύσταση να απενεργοποιήσετε αυτήν την επιλογή όταν ολοκληρωθεί η μετεγκατάσταση
partition.assignment.στρατηγικήΕύροςΕπιλέξτε μεταξύ των πολιτικών "εύρος" και "roundrobin" ως πολιτική για την εκχώρηση κατατμήσεων σε ροές δεδομένων καταναλωτών. Ο κυκλικός κατανεμητής διαμερισμάτων κατανέμει όλα τα διαθέσιμα διαμερίσματα καθώς και όλα τα διαθέσιμα νήματα καταναλωτή. Θα αντιστοιχίσει τον βρόχο κατάτμησης στο νήμα καταναλωτή. Εάν όλες οι περιπτώσεις καταναλωτή είναι εγγεγραμμένες σε έναν καθορισμένο, οι κατατμήσεις χωρίζονται σε ντετερμινιστικές κατανομές. Η στρατηγική κυκλικής κατανομής είναι δυνατή μόνο εάν πληρούνται οι ακόλουθες προϋποθέσεις: (1) Κάθε θέμα έχει τον ίδιο αριθμό ροών δεδομένων ανά ισχύ καταναλωτή. (2) Η συλλογή των εγγεγραμμένων θεμάτων καθορίζεται για κάθε περίπτωση καταναλωτή στην ομάδα καταναλωτών.


Ρυθμίσεις πύλης

ΙδιοκτησίαΠροεπιλογήΠεριγραφή
metadata.broker.list Σερβίρετε bootstrapping. Το Producer χρησιμοποιείται μόνο για τη λήψη μεταδεδομένων (θέματα, διαμερίσματα, αντίγραφα). Η σύνδεση υποδοχής για την αποστολή των πραγματικών δεδομένων θα δημιουργηθεί με βάση τα δεδομένα μεταδεδομένων που επιστρέφονται. Η μορφή είναι:
host1:θύρα1,host2:θύρα2
Αυτή η λίστα μπορεί να είναι μια υπολίστα μεσιτών ή ένα VIP που δείχνει σε μεσίτες
αίτημα.απαιτείται.acks0Αυτή η διαμόρφωση είναι μια τιμή επιβεβαίωσης που υποδεικνύει πότε ένα αίτημα παραγωγής θεωρείται ολοκληρωμένο. Συγκεκριμένα, πόσοι άλλοι μεσίτες πρέπει να έχουν υποβάλει δεδομένα στα αρχεία καταγραφής τους και να έχουν επιβεβαιώσει αυτές τις πληροφορίες στον αρχηγό τους. Οι τυπικές τιμές περιλαμβάνουν:
0: Υποδεικνύει ότι ο παραγωγός δεν περιμένει ποτέ επιβεβαίωση από τον μεσίτη (ίδια συμπεριφορά με το 0,7). Αυτή η επιλογή παρέχει τον μικρότερο λανθάνοντα χρόνο αλλά ταυτόχρονα και τον μεγαλύτερο κίνδυνο (επειδή τα δεδομένα χάνονται όταν ο διακομιστής πέφτει).
1: Υποδεικνύει ότι η ρεπλίκα οδηγού έχει λάβει την επιβεβαίωση δεδομένων. Αυτή η επιλογή έχει χαμηλό λανθάνοντα χρόνο και διασφαλίζει ότι ο διακομιστής επιβεβαιώνει ότι έχει ληφθεί.
-1: Η πύλη παροχής λαμβάνει επιβεβαίωση ότι όλες οι συγχρονισμένες ρεπλίκες έχουν λάβει δεδομένα. Ο λανθάνων χρόνος είναι ο μεγαλύτερος, ωστόσο, αυτή η μέθοδος δεν εξαλείφει εντελώς τον κίνδυνο απώλειας μηνυμάτων, επειδή ο αριθμός των συγχρονισμένων ρεπλικών μπορεί να είναι 1. Εάν θέλετε να εξασφαλίσετε ότι ορισμένες ρεπλίκες λαμβάνουν δεδομένα, τότε θα πρέπει να ορίσετε την επιλογή min.insync.replicas στις ρυθμίσεις επιπέδου θέματος. Διαβάστε την τεκμηρίωση σχεδιασμού για μια πιο εμπεριστατωμένη συζήτηση.
request.timeout.ms10000Ο μεσίτης καταβάλλει κάθε δυνατή προσπάθεια για να εφαρμόσει την απαίτηση request.required.acks, διαφορετικά θα σταλεί ένα σφάλμα στον πελάτη
παραγωγός.τύποςσυγχρονισμόςΑυτή η επιλογή καρφιτσώνει εάν το μήνυμα αποστέλλεται ασύγχρονα σε ένα νήμα παρασκηνίου. Σωστές τιμές:
(1) ασύγχρονη: Ασύγχρονη αποστολή
(2) συγχρονισμός: Συγχρονισμένη αποστολή
Ρυθμίζοντας τον παραγωγό σε ασύγχρονο, μπορούμε να επεξεργαστούμε αιτήματα σε παρτίδες (κάτι που είναι καλό για υψηλότερη απόδοση), αλλά αυτό δημιουργεί επίσης την πιθανότητα το μηχάνημα-πελάτης να χάσει τα μη απεσταλμένα δεδομένα
σειριοποιητής.τάξηkafka.serializer.DefaultEncoderΗ κατηγορία σειριοποίησης του μηνύματος. Ο προεπιλεγμένος κωδικοποιητής εισάγει ένα byte[] και επιστρέφει το ίδιο byte[]
key.serializer.κλάση Κλάση σειριοποίησης για λέξεις-κλειδιά. Εάν αυτό δεν δίνεται, η προεπιλογή είναι να ταιριάζει με το μήνυμα
partitioner.κλάσηkafka.producer.DefaultPartitionerpartitioner για να χωρίσετε τα μηνύματα μεταξύ υποθεμάτων. Το προεπιλεγμένο partitioner βασίζεται στον πίνακα κατακερματισμού του κλειδιού
συμπίεση.κωδικοποιητήςκανέναςΑυτή η παράμετρος μπορεί να ορίσει τον κωδικοποιητή για τη συμπίεση δεδομένων, ο οποίος μπορεί να επιλεγεί ως "κανένας", "gzip", "snappy".
συμπιεσμένα.θέματαάκυροςΑυτή η παράμετρος μπορεί να χρησιμοποιηθεί για να ορίσετε εάν ορισμένα θέματα συμπιέζονται. Εάν ο συμπιεσμένος κωδικοποιητής είναι κωδικοποιητής διαφορετικός από το NoCompressCodec, αυτοί οι κωδικοποιητές εφαρμόζονται στα δεδομένα καθορισμένων θεμάτων. Εάν η λίστα των συμπιεσμένων θεμάτων είναι κενή, εφαρμόστε τον συγκεκριμένο συμπιεσμένο κωδικοποιητή σε όλα τα λήμματα. Εάν ο συμπιεσμένος κωδικοποιητής είναι NoCompressionCodec, η συμπίεση δεν είναι διαθέσιμη για όλα τα θέματα.
message.send.max.επαναλήψεις3Αυτή η παράμετρος θα έχει ως αποτέλεσμα η πύλη παροχής να επαναλάβει αυτόματα τις αιτήσεις αποστολής που απέτυχαν. Αυτή η παράμετρος καρφιτσώνει τον αριθμό των επαναλήψεων. Σημείωση: Ο ορισμός μιας τιμής που δεν είναι 0 θα προκαλέσει την επανάληψη ορισμένων σφαλμάτων δικτύου: θα προκαλέσει μια αποστολή και θα προκαλέσει απώλεια επιβεβαίωσης
retry.backoff.ms100Πριν από κάθε επανάληψη, ο παραγωγός ενημερώνει τα μεταδεδομένα του σχετικού θέματος για να δει εάν έχει εκχωρηθεί ο νέος οδηγός. Επειδή η επιλογή αρχηγού απαιτεί λίγο χρόνο, αυτή η επιλογή καθορίζει πόσο χρόνο πρέπει να περιμένει ο παραγωγός πριν ενημερώσει τα μεταδεδομένα.
topic.metadata.refresh.interval.ms600*1000Ο παραγωγός ενημερώνει γενικά τα μεταδεδομένα του θέματος σε ορισμένα σενάρια αποτυχίας (λείπει η κατάτμηση, ο οδηγός δεν είναι διαθέσιμος κ.λπ.). Θα περάσει από έναν κανονικό κύκλο. Εάν τα ορίσετε σε αρνητική τιμή, τα μεταδεδομένα θα ενημερωθούν μόνο εάν αποτύχει. Εάν οριστεί σε 0, τα μεταδεδομένα ενημερώνονται μετά την αποστολή κάθε μηνύματος (αυτή η επιλογή δεν συνιστάται, το σύστημα καταναλώνει πάρα πολύ). Σημαντικό: Οι ενημερώσεις πραγματοποιούνται μόνο μετά την αποστολή του μηνύματος, επομένως, αν ο παραγωγός δεν στείλει ποτέ το μήνυμα, τα μεταδεδομένα δεν ενημερώνονται ποτέ.
queue.buffering.max.ms5000Το μέγιστο χρονικό διάστημα κατά το οποίο ο χρήστης αποθηκεύει προσωρινά δεδομένα όταν εφαρμόζεται η ασύγχρονη λειτουργία. Για παράδειγμα, εάν το μήνυμα έχει οριστεί σε 100, τα μηνύματα εντός 100 ms θα υποβάλλονται σε επεξεργασία σε παρτίδες. Αυτό θα βελτιώσει την απόδοση, αλλά θα αυξήσει τον λανθάνοντα χρόνο λόγω της προσωρινής αποθήκευσης.
queue.buffering.max.μηνύματα10000Όταν χρησιμοποιείτε την ασύγχρονη λειτουργία, ο μέγιστος αριθμός των μη απεσταλμένων μηνυμάτων που μπορούν να αποθηκευτούν προσωρινά στην ουρά πριν από τον αποκλεισμό της πύλης παροχής ή την απώλεια δεδομένων
batch.num.μηνύματα200Όταν χρησιμοποιείτε τη λειτουργία ασυγχρονισμού, μπορείτε να επεξεργαστείτε ομαδικά τον μέγιστο αριθμό μηνυμάτων. Ή ο αριθμός των μηνυμάτων έχει φτάσει σε αυτό το διαδίκτυο ή queue.buffer.max.ms έχει φτάσει και ο παραγωγός θα το επεξεργαστεί
send.buffer.bytes100*1024Μέγεθος κρυφής μνήμης εγγραφής υποδοχής
client.id“”Αυτό το αναγνωριστικό πελάτη είναι μια συμβολοσειρά συγκεκριμένου χρήστη που περιλαμβάνεται σε κάθε αίτημα παρακολούθησης της κλήσης και λογικά θα πρέπει να μπορεί να επιβεβαιώσει ότι η εφαρμογή έκανε το αίτημα.


Ρυθμίσεις πύλης

ΌνομαΤύποςΠροεπιλογήΣημασιαΠεριγραφή
boostrap.διακομιστέςΛίστα υψηλόςΟμάδα κεντρικού υπολογιστή/θύρας για να δημιουργήσετε μια σύνδεση με το σύμπλεγμα kafka. Τα δεδομένα θα φορτωθούν ομοιόμορφα σε όλους τους διακομιστές, ανεξάρτητα από το ποιος διακομιστής έχει οριστεί για εκκίνηση. Αυτή η λίστα επηρεάζει μόνο τους αρχικοποιημένους κεντρικούς υπολογιστές (οι οποίοι χρησιμοποιούνται για τον εντοπισμό όλων των διακομιστών). Αυτή η μορφή λίστας:
host1:port1,host2:port2,...
Δεδομένου ότι αυτοί οι διακομιστές χρησιμοποιούνται μόνο για την προετοιμασία συνδέσεων για τον εντοπισμό όλων των μελών του συμπλέγματος (τα οποία μπορούν να αλλάξουν δυναμικά), αυτή η λίστα δεν χρειάζεται να περιέχει όλους τους διακομιστές (μπορεί να θέλετε περισσότερους από έναν διακομιστές, αν και σε αυτήν την περίπτωση, ένας διακομιστής μπορεί να είναι εκτός λειτουργίας). Εάν δεν εμφανίζεται διακομιστής σε αυτήν τη λίστα, η αποστολή δεδομένων θα αποτύχει μέχρι να είναι διαθέσιμη η λίστα.
ACKSσυμβολοσειρά1υψηλόςΟ παραγωγός χρειάζεται ένα σήμα από τον διακομιστή για να επιβεβαιώσει την παραλαβή μετά τη λήψη των δεδομένων και αυτή η διαμόρφωση αναφέρεται στο πόσα τέτοια σήματα επιβεβαίωσης χρειάζεται ο παραγωγός. Αυτή η διαμόρφωση αντιπροσωπεύει στην πραγματικότητα τη διαθεσιμότητα αντιγράφων ασφαλείας δεδομένων. Οι ακόλουθες ρυθμίσεις είναι κοινές επιλογές:
(1) acks=0: Η τιμή 0 σημαίνει ότι ο παραγωγός δεν χρειάζεται να περιμένει επιβεβαίωση των πληροφοριών που έλαβε. Το αντίγραφο θα προστεθεί αμέσως στο buffer υποδοχής και θα θεωρηθεί ότι έχει αποσταλεί. Δεν υπάρχει καμία εγγύηση ότι ο διακομιστής έχει λάβει με επιτυχία τα δεδομένα σε αυτήν την περίπτωση και η επανάληψη της διαμόρφωσης δεν θα λειτουργήσει (επειδή ο πελάτης δεν γνωρίζει εάν απέτυχε) και η μετατόπιση των σχολίων θα ορίζεται πάντα σε -1.
(2) acks=1: Αυτό σημαίνει ότι τουλάχιστον περιμένετε μέχρι ο αρχηγός να γράψει με επιτυχία τα δεδομένα στο τοπικό αρχείο καταγραφής, αλλά όχι για όλους τους ακόλουθους να γράψουν με επιτυχία. Σε αυτήν την περίπτωση, εάν ο ακόλουθος δεν δημιουργήσει επιτυχώς αντίγραφα ασφαλείας των δεδομένων και ο αρχηγός κλείσει ξανά το τηλέφωνο, το μήνυμα θα χαθεί.
(3) acks=all: Αυτό σημαίνει ότι ο ηγέτης πρέπει να περιμένει όλα τα αντίγραφα ασφαλείας να γράψουν με επιτυχία αρχεία καταγραφής και αυτή η στρατηγική θα διασφαλίσει ότι τα δεδομένα δεν θα χαθούν όσο επιβιώνει ένα αντίγραφο ασφαλείας. Αυτή είναι η ισχυρότερη εγγύηση.
(4) Άλλες ρυθμίσεις, όπως acks=2, είναι επίσης δυνατές, οι οποίες θα απαιτήσουν έναν δεδομένο αριθμό acks, αλλά αυτή η στρατηγική χρησιμοποιείται γενικά σπάνια.
buffer.μνήμημακρύς33554432υψηλόςΗ πύλη παραγωγής μπορεί να χρησιμοποιηθεί για την προσωρινή αποθήκευση του μεγέθους μνήμης των δεδομένων. Εάν τα δεδομένα δημιουργούνται πιο γρήγορα από ό,τι αποστέλλονται στον μεσίτη, ο παραγωγός θα αποκλείσει ή θα ρίξει μια εξαίρεση, που υποδεικνύεται από το "block.on.buffer.full".

Αυτή η ρύθμιση θα σχετίζεται με τη συνολική μνήμη που μπορεί να χρησιμοποιήσει η υπηρεσία παροχής, αλλά δεν αποτελεί αυστηρό όριο, καθώς δεν χρησιμοποιείται όλη η μνήμη που χρησιμοποιείται από την υπηρεσία παροχής για αποθήκευση στο cache. Κάποια πρόσθετη μνήμη χρησιμοποιείται για συμπίεση (εάν εισαχθεί συμπίεση) και κάποια χρησιμοποιείται για αιτήματα συντήρησης.
συμπίεση.τύποςσυμβολοσειράκανέναςυψηλόςΠαραγωγός είναι ο τύπος συμπίεσης που χρησιμοποιείται για τη συμπίεση δεδομένων. Η προεπιλογή είναι ασυμπίεστη. Οι σωστές τιμές επιλογής είναι καμία, gzip, snappy.
Η συμπίεση χρησιμοποιείται καλύτερα για μαζική επεξεργασία, όσο περισσότερα μηνύματα υποβάλλονται σε επεξεργασία σε παρτίδες, τόσο καλύτερη είναι η απόδοση συμπίεσης.
ΕπαναλήψειςΔιεθνές0υψηλόςΟ ορισμός μιας τιμής μεγαλύτερης από 0 θα αναγκάσει τον υπολογιστή-πελάτη να στείλει ξανά τυχόν δεδομένα μόλις αποτύχουν αυτά τα δεδομένα. Σημειώστε ότι αυτές οι επαναλήψεις δεν διαφέρουν από εκείνες όταν ο υπολογιστής-πελάτης λαμβάνει ένα σφάλμα αποστολής. Επιτρέπει στις επαναλήψεις να αλλάξουν πιθανώς τη σειρά των δεδομένων, εάν και οι δύο εγγραφές μηνυμάτων αποστέλλονται στο ίδιο διαμέρισμα, το πρώτο μήνυμα αποτυγχάνει, το δεύτερο μήνυμα εμφανίζεται νωρίτερα από το πρώτο μήνυμα.
μέγεθος παρτίδαςΔιεθνές16384ΜέτριοςΟ παραγωγός θα προσπαθήσει να ομαδοποιήσει τις εγγραφές μηνυμάτων για να μειώσει τον αριθμό των αιτήσεων. Αυτό θα βελτιώσει την απόδοση μεταξύ πελάτη και διακομιστή. Αυτή η διαμόρφωση ελέγχει τον προεπιλεγμένο αριθμό byte μηνυμάτων επεξεργασίας παρτίδας.
Δεν γίνονται προσπάθειες επεξεργασίας byte μηνυμάτων μεγαλύτερων από αυτόν τον αριθμό byte.
Τα αιτήματα που αποστέλλονται στους μεσίτες θα περιέχουν πολλαπλές παρτίδες, οι οποίες θα περιέχουν ένα αίτημα για κάθε κατάτμηση.
Οι μικρότερες τιμές παρτίδας χρησιμοποιούνται λιγότερο και ενδέχεται να μειώσουν την απόδοση (το 0 θα χρησιμοποιεί μόνο επεξεργασία κατά παρτίδες). Οι μεγαλύτερες τιμές παρτίδας σπαταλούν περισσότερο χώρο στη μνήμη, επομένως πρέπει να εκχωρήσετε μνήμη για συγκεκριμένες τιμές παρτίδας.
client.idσυμβολοσειρά ΜέτριοςΑυτή η συμβολοσειρά αποστέλλεται στον διακομιστή όταν υποβάλλεται ένα αίτημα. Ο σκοπός είναι να μπορέσουμε να εντοπίσουμε την πηγή των αιτημάτων για να επιτρέψουμε σε ορισμένες εφαρμογές εκτός της λίστας επιτρεπόμενων IP/Port να στέλνουν πληροφορίες. Αυτή η εφαρμογή μπορεί να ορίσει οποιαδήποτε συμβολοσειρά επειδή δεν έχει κανένα λειτουργικό σκοπό εκτός από την εγγραφή και την παρακολούθηση
linger.msμακρύς0ΜέτριοςΗ ομάδα παραγωγών συγκεντρώνει τυχόν μηνύματα που φθάνουν μεταξύ του αιτήματος και της αποστολής, καταγράφοντας χωριστή δέσμη αιτημάτων. Συνήθως, αυτό συμβαίνει μόνο όταν η εγγραφή δημιουργείται ταχύτερα από τον ρυθμό αποστολής. Ωστόσο, υπό ορισμένες προϋποθέσεις, ο πελάτης θα θέλει να μειώσει τον αριθμό των αιτημάτων ή ακόμα και σε μέτριο φορτίο. Αυτή η ρύθμιση θα γίνει προσθέτοντας μια μικρή καθυστέρηση - δηλαδή, αντί να στείλει αμέσως μια εγγραφή, ο παραγωγός θα περιμένει έναν δεδομένο χρόνο καθυστέρησης για να επιτρέψει την αποστολή άλλων εγγραφών μηνυμάτων, οι οποίες μπορούν να ομαδοποιηθούν. Αυτός μπορεί να θεωρηθεί παρόμοιος αλγόριθμος με τον TCP Nagle. Αυτή η ρύθμιση θέτει ένα υψηλότερο όριο καθυστέρησης για ομαδοποίηση: μόλις λάβουμε το batch.size ενός διαμερίσματος, θα το στείλει αμέσως ανεξάρτητα από αυτήν τη ρύθμιση, αλλά αν λάβουμε ένα μήνυμα με πολύ μικρότερο αριθμό byte από αυτήν τη ρύθμιση, πρέπει να "καθυστερήσουμε" μια συγκεκριμένη ώρα για να λάβουμε περισσότερα μηνύματα. Αυτή η ρύθμιση είναι προεπιλεγμένη στο 0, δηλαδή χωρίς καθυστέρηση. Η ρύθμιση του linger.ms=5, για παράδειγμα, θα μειώσει τον αριθμό των αιτημάτων, αλλά ταυτόχρονα θα αυξήσει την καθυστέρηση κατά 5 ms.
max.request.sizeΔιεθνές1028576ΜέτριοςΟ μέγιστος αριθμός byte που ζητήθηκαν. Αυτή είναι επίσης μια αποτελεσματική κάλυψη για το μέγιστο καταγεγραμμένο μέγεθος. Σημείωση: Ο διακομιστής έχει τη δική του παράκαμψη των μεγεθών εγγραφών μηνυμάτων, τα οποία διαφέρουν από αυτήν τη ρύθμιση. Αυτή η ρύθμιση περιορίζει τον αριθμό των αιτημάτων που μπορούν να στέλνουν μαζικά οι παραγωγοί κάθε φορά, ώστε να αποτρέπεται ο μεγάλος αριθμός αιτημάτων.
receive.buffer.bytesΔιεθνές32768ΜέτριοςΜέγεθος cache λήψης TCP, το οποίο χρησιμοποιείται κατά την ανάγνωση δεδομένων
send.buffer.bytesΔιεθνές131072ΜέτριοςΜέγεθος cache αποστολής TCP, το οποίο χρησιμοποιείται κατά την αποστολή δεδομένων
timeout.msΔιεθνές30000ΜέτριοςΑυτή η επιλογή διαμόρφωσης ελέγχει το μέγιστο χρονικό διάστημα αναμονής του διακομιστή για επιβεβαίωση από τους ακόλουθους. Εάν ο αριθμός των επιβεβαιωμένων αιτημάτων δεν εκπληρωθεί εντός αυτού του χρονικού διαστήματος, επιστρέφεται σφάλμα. Αυτό το όριο χρονικού ορίου μετράται από την πλευρά του διακομιστή και δεν έχει καθυστέρηση δικτύου, συμπεριλαμβανομένων των αιτημάτων
block.on.buffer.fullbooleantrueχαμηλόςΌταν εξαντληθεί η προσωρινή μνήμη μας, πρέπει να σταματήσουμε να λαμβάνουμε νέες εγγραφές μηνυμάτων ή να ρίχνουμε σφάλματα. Από προεπιλογή, αυτό έχει οριστεί σε αληθές, ωστόσο κάποιο μπλοκάρισμα μπορεί να μην αξίζει να περιμένετε, επομένως είναι καλύτερο να ρίξετε ένα σφάλμα αμέσως. Αυτό συμβαίνει όταν έχει οριστεί σε false: ο παραγωγός ρίχνει ένα σφάλμα εξαίρεσης: BufferExhaustedException εάν η εγγραφή έχει σταλεί και η κρυφή μνήμη είναι πλήρης
metadata.fetch.timeout.msμακρύς60000χαμηλόςΑναφέρεται στην πρώτη φορά δεδομένων ορισμένων στοιχείων που έχουμε λάβει. Τα στοιχεία περιλαμβάνουν: θέμα, κεντρικός υπολογιστής, κατατμήσεις. Αυτή η διαμόρφωση αναφέρεται στον χρόνο που απαιτείται για την επιτυχή ολοκλήρωση του στοιχείου σύμφωνα με την ανάκτηση, διαφορετικά θα σταλεί μια εξαίρεση στον πελάτη.
metadata.max.age.msμακρύς300000χαμηλόςΟ χρόνος σε μικροδευτερόλεπτα είναι το διάστημα στο οποίο αναγκάζουμε τα μεταδεδομένα να ενημερωθούν. Ακόμα κι αν δεν δούμε αλλαγές στην ηγεσία της διχοτόμησης.
μετρική.ρεπόρτερΛίστα[]χαμηλόςΜια λίστα κλάσεων που χρησιμοποιούνται για τη μέτρηση μετρήσεων. Η εφαρμογή της διεπαφής MetricReporter θα επιτρέψει την προσθήκη κλάσεων που αλλάζουν καθώς δημιουργούνται νέες μετρήσεις. Το JmxReporter θα περιλαμβάνει πάντα έναν τρόπο εγγραφής στατιστικών JMX
metrics.αριθμός.δείγματαΔιεθνές2χαμηλόςΟ αριθμός των δειγμάτων που χρησιμοποιούνται για τη διατήρηση των μετρήσεων
metrics.sample.window.msμακρύς30000χαμηλόςΤο σύστημα Metrics διατηρεί έναν διαμορφώσιμο αριθμό δειγμάτων σε ένα διορθώσιμο μέγεθος παραθύρου. Αυτή η διαμόρφωση διαμορφώνει το μέγεθος του παραθύρου, για παράδειγμα. Μπορούμε να διατηρήσουμε δύο δείγματα για τη διάρκεια των 30 δευτερολέπτων. Όταν ανοίγει ένα παράθυρο, διαγράφουμε και ξαναγράφουμε το παλαιότερο παράθυρο
recoonect.backoff.msμακρύς10χαμηλόςΌταν η σύνδεση αποτύχει, ο χρόνος αναμονής κατά την επανασύνδεση. Αυτό αποφεύγει τις επαναλαμβανόμενες επανασυνδέσεις πελατών
retry.backoff.msμακρύς100χαμηλόςΟ χρόνος αναμονής πριν προσπαθήσετε να επαναλάβετε μια αποτυχημένη αίτηση παραγωγής. Αποφύγετε να κολλήσετε σε έναν νεκρό βρόχο αποστολής-αποτυχίας.




Προηγούμενος:【Εξάσκηση】Το Eclipse εγκαθιστά την προσθήκη lombok
Επόμενος:Το Java JMX είναι απλό στην κατανόηση και τη χρήση
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 2/11/2021 2:10:57 μ.μ. |
ρύθμιση παραμέτρων server.properties

Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com