Διαμορφώσεις μεσίτη
| Ιδιοκτησία | Προεπιλογή | Περιγραφή | | 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.bytes | 1000000 | Το μέγιστο μέγεθος των μηνυμάτων που μπορεί να λάβει ένας διακομιστής. Είναι σημαντικό οι ρυθμίσεις του καταναλωτή και του παραγωγού σχετικά με αυτήν την ιδιότητα να είναι συγχρονισμένες, διαφορετικά το μήνυμα που δημοσιεύεται από τον παραγωγό είναι πολύ μεγάλο για τον καταναλωτή. | | num.network.threads | 3 | Ο αριθμός των νημάτων δικτύου που χρησιμοποιούνται από τον διακομιστή για την επεξεργασία αιτημάτων δικτύου. Γενικά, δεν χρειάζεται να αλλάξετε αυτήν την ιδιότητα. | | num.io.threads | 8 | Ο αριθμός των νημάτων I/O που χρησιμοποιούνται από τον διακομιστή για την επεξεργασία αιτημάτων. Ο αριθμός των νημάτων πρέπει να είναι τουλάχιστον ίσος με τον αριθμό των σκληρών δίσκων. | | φόντο.νήματα | 4 | Ο αριθμός των νημάτων που χρησιμοποιούνται για την επεξεργασία παρασκηνίου, όπως η διαγραφή αρχείων. Δεν χρειάζεται να αλλάξετε αυτήν την ιδιότητα. | | queued.max.αιτήματα | 500 | Ο μέγιστος αριθμός αιτήσεων που μπορούν να τοποθετηθούν στην ουρά για επεξεργασία από ένα νήμα εισόδου/εξόδου πριν ένα νήμα δικτύου σταματήσει να διαβάζει νέες αιτήσεις. | | host.name | άκυρος | όνομα κεντρικού υπολογιστή του μεσίτη· Εάν το όνομα κεντρικού υπολογιστή έχει ήδη οριστεί, ο μεσίτης θα δεσμευτεί μόνο σε αυτήν τη διεύθυνση. Εάν δεν υπάρχει ρύθμιση, θα συνδεθεί σε όλες τις διεπαφές και θα δημοσιεύσει ένα αντίγραφο στο ZK | | advertised.host.name | άκυρος | Εάν οριστεί, αποστέλλεται σε παραγωγούς, καταναλωτές και άλλους μεσίτες ως το όνομα κεντρικού υπολογιστή του μεσίτη | | διαφημιστής.λιμάνι | άκυρος | Αυτή η θύρα δίνεται σε παραγωγούς, καταναλωτές και άλλους μεσίτες και χρησιμοποιείται για τη δημιουργία σύνδεσης. Χρειάζεται να ρυθμιστεί μόνο εάν η πραγματική θύρα και η θύρα που πρέπει να δεσμεύσει ο διακομιστής είναι διαφορετικές. | | socket.send.buffer.bytes | 100 * 1024 | SO_SNDBUFF Μέγεθος προσωρινής μνήμης, το οποίο χρησιμοποιεί ο διακομιστής για να κάνει συνδέσεις υποδοχών | | socket.receive.buffer.bytes | 100 * 1024 | SO_RCVBUFF μέγεθος προσωρινής μνήμης, το οποίο χρησιμοποιείται από τον διακομιστή για σύνδεση σε υποδοχές | | socket.request.max.bytes | 100 * 1024 * 1024 | Το μέγιστο μέγεθος αιτήματος που επιτρέπεται από τον διακομιστή. Αυτό θα αποφύγει τις υπερχειλίσεις διακομιστή, οι οποίες θα πρέπει να είναι μικρότερες από το μέγεθος του σωρού Java | | num.partitions | 1 | Εάν ο αριθμός των κατατμήσεων δεν δίνεται κατά τη δημιουργία ενός θέματος, αυτός ο αριθμός θα είναι ο προεπιλεγμένος αριθμός κατατμήσεων κάτω από το θέμα. | | log.τμήμα.bytes | 1014*1024*1024 | Τα αρχεία καταγραφής του θεματικού διαμερίσματος αποθηκεύονται σε πολλά αρχεία σε έναν συγκεκριμένο κατάλογο, τα οποία χωρίζουν τα αρχεία καταγραφής του διαμερίσματος σε τμήματα. Αυτό το χαρακτηριστικό είναι το μέγιστο μέγεθος κάθε αρχείου. Όταν οι διαστάσεις φτάσουν σε αυτήν την τιμή, δημιουργείται ένα νέο αρχείο. Αυτή η ρύθμιση μπορεί να παρακαμφθεί από τη βάση κάθε θέματος. Προβολή Η σύνδεση με υπερσύνδεσμο είναι ορατή. | | log.roll.ώρες | 24 * 7 | Ακόμα και αν το αρχείο δεν φτάσει στο log.segment.bytes, δημιουργείται ένα νέο αρχείο κάθε φορά που ο χρόνος δημιουργίας του αρχείου φτάσει σε αυτήν την ιδιότητα. Αυτή η ρύθμιση μπορεί επίσης να παρακαμφθεί από ρυθμίσεις σε επίπεδο θέματος. ΆποψηΗ σύνδεση με υπερσύνδεσμο είναι ορατή. | | log.cleanup.πολιτική | Διαγραφή | | | log.retention.minutes και log.retention.hours | 7 ημέρες | Ο χρόνος αποθήκευσης κάθε αρχείου καταγραφής πριν από τη διαγραφή του. Ο προεπιλεγμένος χρόνος εξοικονόμησης δεδομένων είναι ο ίδιος για όλα τα θέματα. Τα log.retention.minutes και log.retention.bytes χρησιμοποιούνται και τα δύο για τον ορισμό της διαγραφής των αρχείων καταγραφής, ανεξάρτητα από το ποια ιδιότητα έχει υπερχειλίσει. Αυτή η ρύθμιση ιδιότητας μπορεί να παρακαμφθεί όταν το θέμα έχει οριστεί βασικά. ΆποψηΗ σύνδεση με υπερσύνδεσμο είναι ορατή. | | log.retention.bytes | -1 | Ο συνολικός όγκος δεδομένων που αποθηκεύονται από κάθε διαμέρισμα σε κάθε θέμα. Σημειώστε ότι αυτό είναι το ανώτατο όριο ανά διαμέρισμα, επομένως αυτός ο αριθμός πολλαπλασιασμένος με τον αριθμό των κατατμήσεων είναι η συνολική ποσότητα δεδομένων που αποθηκεύονται ανά θέμα. Σημειώστε επίσης: Εάν έχουν οριστεί και τα δύο log.retention.hours και log.retention.bytes, η υπέρβαση οποιουδήποτε ορίου θα προκαλέσει τη διαγραφή ενός αρχείου τμήματος. Σημειώστε ότι αυτή η ρύθμιση μπορεί να παρακαμφθεί από κάθε θέμα. ΆποψηΗ σύνδεση με υπερσύνδεσμο είναι ορατή. | | log.retention.check.interval.ms | 5 λεπτά | Ελέγξτε το διάστημα μεταξύ των τμηματοποιημένων αρχείων καταγραφής για να προσδιορίσετε εάν τα χαρακτηριστικά του αρχείου πληρούν τις απαιτήσεις διαγραφής. | | log.cleaner.ενεργοποίηση | false | Όταν αυτή η ιδιότητα οριστεί σε false, θα διαγραφεί μόλις αποθηκευτεί το αρχείο καταγραφής για μέγιστο χρονικό διάστημα ή μέγεθος. Εάν οριστεί σε true, θα συμβεί όταν το χαρακτηριστικό save φτάσει στο ανώτατο όριοΗ σύνδεση με υπερσύνδεσμο είναι ορατή.。 | | log.cleaner.threads | 1 | Ο αριθμός των νημάτων που εκτελούν συμπίεση καταγραφής | | log.cleaner.io.max.bytes.ανά.δευτερόλεπτο | Κανένας | Ο μέγιστος αριθμός εισόδων/εξόδων που μπορεί να έχει ένας καθαριστής κορμών κατά την εκτέλεση συμπίεσης κορμών. Αυτή η ρύθμιση περιορίζει το καθαριστικό για να αποφευχθεί η παρεμβολή σε ενεργές υπηρεσίες αιτημάτων. | | log.cleaner.io.buffer.size | 500*1024*1024 | Η Εκκαθάριση αρχείων καταγραφής ευρετηριάζει τα αρχεία καταγραφής κατά τη διαδικασία εκκαθάρισης και μειώνει το μέγεθος της μνήμης cache που χρησιμοποιείται. Είναι καλύτερο να το ρυθμίσετε μεγάλο για να παρέχει άφθονη μνήμη. | | log.cleaner.io.buffer.load.factor | 512*1024 | Το μέγεθος του κομματιού I/O που απαιτείται για τον καθαρισμό κορμών. Δεν χρειάζεται να αλλάξετε αυτήν τη ρύθμιση. | | log.cleaner.io.buffer.load.factor | 0.9 | συντελεστής φορτίου του πίνακα κατακερματισμού που χρησιμοποιείται για τον καθαρισμό των κορμών· Δεν χρειάζεται να αλλάξετε αυτήν την επιλογή. | | log.cleaner.backoff.ms | 15000 | Εκτελείται το χρονικό διάστημα κατά το οποίο γίνεται η εκκαθάριση του αρχείου καταγραφής | | log.cleaner.min.cleanable.ratio | 0.5 | Αυτή η ρύθμιση ελέγχει πόσο συχνά ο συμπυκνωτής αρχείων καταγραφής προσπαθεί να καθαρίσει τα αρχεία καταγραφήςΗ σύνδεση με υπερσύνδεσμο είναι ορατή.είναι ανοιχτό). Από προεπιλογή, αποφύγετε τον καθαρισμό περισσότερο από το 50% των κορμών. Αυτή η αναλογία συνδέεται με τον μέγιστο χώρο που καταναλώνεται από το αρχείο καταγραφής αντιγράφων ασφαλείας (το 50% των αρχείων καταγραφής συμπιέζεται στο 50%). Ένα υψηλότερο ποσοστό σημαίνει λιγότερα απόβλητα και περισσότερος χώρος μπορεί να καθαριστεί πιο αποτελεσματικά. Αυτή η ρύθμιση μπορεί να παρακαμφθεί σε κάθε ρύθμιση θέματος. ΆποψηΗ σύνδεση με υπερσύνδεσμο είναι ορατή.。 | | log.cleaner.delete.retention.ms | 1ημέρα | χρόνος αποθήκευσης; Ο μέγιστος χρόνος διατήρησης συμπιεσμένων αρχείων καταγραφής. Είναι επίσης ο μέγιστος χρόνος για τον πελάτη να καταναλώσει μηνύματα και η διαφορά μεταξύ του log.retention.minutes είναι ότι το ένα ελέγχει τα ασυμπίεστα δεδομένα και το άλλο ελέγχει τα συμπιεσμένα δεδομένα, τα οποία θα αντικατασταθούν μέχρι την καθορισμένη ώρα δημιουργίας του θέματος. | | log.index.size.max.bytes | 10*1024*1024 | Το μέγιστο μέγεθος ανά τμήμα κορμών. Σημειώστε ότι εάν το μέγεθος του αρχείου καταγραφής φτάσει αυτήν την τιμή, πρέπει να δημιουργηθεί ένα νέο τμήμα καταγραφής ακόμα και αν το μέγεθος δεν υπερβαίνει το όριο log.segment.bytes. | | log.index.interval.bytes | 4096 | Όταν εκτελείτε μια ανάκτηση, πρέπει να σαρώσετε την πλησιέστερη μετατόπιση με συγκεκριμένο χώρο, όσο μεγαλύτερη είναι η ρύθμιση, τόσο το καλύτερο, χρησιμοποιήστε γενικά την προεπιλεγμένη τιμή | | log.flush.interval.μηνύματα | Μεγάλη.ΜέγιστηΤιμή | Καταγράψτε το αρχείο "συγχρονισμός" στο δίσκο πριν από τη συγκέντρωση μηνυμάτων. Επειδή οι λειτουργίες IO δίσκου είναι μια αργή λειτουργία, αλλά και ένα απαραίτητο μέσο "αξιοπιστίας δεδομένων", ελέγξτε εάν απαιτείται το χρονικό διάστημα για τη σκλήρυνση στον σκληρό δίσκο. Εάν αυτή η τιμή είναι πολύ μεγάλη, θα οδηγήσει σε πολύ μεγάλο χρόνο "συγχρονισμού" (αποκλεισμός IO), εάν αυτή η τιμή είναι πολύ μικρή, θα οδηγήσει σε μεγάλο χρονικό διάστημα "fsync" (αποκλεισμός IO), εάν αυτή η τιμή είναι πολύ μικρή, θα οδηγήσει σε μεγάλο αριθμό χρόνων "συγχρονισμού", πράγμα που σημαίνει ότι το συνολικό αίτημα πελάτη έχει μια ορισμένη καθυστέρηση και η αποτυχία του φυσικού διακομιστή θα οδηγήσει σε απώλεια μηνυμάτων χωρίς fsync. | | log.flush.scheduler.interval.ms | Μεγάλη.ΜέγιστηΤιμή | Ελέγξτε εάν απαιτούνται διαστήματα fsync | | log.flush.interval.ms | Μεγάλη.ΜέγιστηΤιμή | Αυτός ο αριθμός χρησιμοποιείται για τον έλεγχο του χρονικού διαστήματος του "fsync", εάν ο αριθμός των μηνυμάτων δεν φτάσει ποτέ τον αριθμό των μηνυμάτων που στερεοποιούνται στο δίσκο, αλλά το χρονικό διάστημα από τον τελευταίο συγχρονισμό δίσκου φτάσει στο όριο, θα ενεργοποιηθεί επίσης ο συγχρονισμός δίσκου. | | log.delete.delay.ms | 60000 | Ο χρόνος διατήρησης μετά την εκκαθάριση του αρχείου στο ευρετήριο γενικά δεν χρειάζεται να τροποποιηθεί | | auto.create.topics.enable | true | Εάν θα επιτρέπεται η αυτόματη δημιουργία θεμάτων. Εάν αληθεύει, θα δημιουργήσει αυτόματα ένα θέμα που δεν υπάρχει όταν δεν υπάρχει παραγωγή ή ανάκτηση. Διαφορετικά, πρέπει να χρησιμοποιήσετε τη γραμμή εντολών για να δημιουργήσετε ένα θέμα | | controller.socket.timeout.ms | 30000 | Ο χρόνος λήξης του χρονικού ορίου της υποδοχής όταν ο ελεγκτής διαχείρισης διαμερισμάτων εκτελεί ένα αντίγραφο ασφαλείας. | | ελεγκτής.μήνυμα.ουρά.μέγεθος | Int.MaxValue | ελεγκτής-σε-μεσίτη-κανάλια | | default.replication.factor | 1 | Ο προεπιλεγμένος αριθμός αντιγράφων ασφαλείας αναφέρεται μόνο σε θέματα που δημιουργούνται αυτόματα | | replica.lag.time.max.ms | 10000 | Εάν ένας ακόλουθος δεν στείλει αίτημα ανάκτησης εντός αυτού του χρονικού διαστήματος, ο αρχηγός θα αφαιρέσει ξανά τον ακόλουθο από το ISR και θα θεωρήσει ότι ο ακόλουθος έχει κρεμαστεί | | replica.lag.max.μηνύματα | 4000 | Εάν ένα αντίγραφο έχει περισσότερα από αυτόν τον αριθμό μη αντιγράφων ασφαλείας, ο αρχηγός θα αφαιρέσει τον ακόλουθο και θα θεωρήσει ότι ο ακόλουθος είναι κρεμασμένος | | replica.socket.timeout.ms | 30*1000 | Χρόνος χρονικού ορίου Leader για αιτήματα δικτύου υποδοχής κατά τη δημιουργία αντιγράφων ασφαλείας δεδομένων | | replica.socket.receive.buffer.bytes | 64*1024 | Υποδοχή λήψης buffer κατά την αποστολή αιτήματος δικτύου στον οδηγό κατά τη δημιουργία αντιγράφων ασφαλείας | | replica.fetch.max.bytes | 1024*1024 | Η μέγιστη τιμή κάθε ανάκτησης κατά τη στιγμή της δημιουργίας αντιγράφων ασφαλείας | | replica.fetch.min.bytes | 500 | Ο μέγιστος χρόνος αναμονής για να φτάσουν τα δεδομένα στον επικεφαλής όταν ο επικεφαλής κάνει ένα αίτημα δημιουργίας αντιγράφων ασφαλείας | | replica.fetch.min.bytes | 1 | Το μικρότερο μέγεθος της απόκρισης μετά από κάθε ανάκτηση κατά τη δημιουργία αντιγράφων ασφαλείας | | num.replica.fetchers | 1 | Ο αριθμός των νημάτων που δημιουργούν αντίγραφα ασφαλείας δεδομένων από τον ηγέτη | | replica.high.watermark.checkpoint.interval.ms | 5000 | Κάθε αντίγραφο ελέγχει πόσο συχνά ωριμάζει η υψηλότερη στάθμη νερού | | fetch.purgatory.purge.interval.requests | 1000 | Αίτημα ανάκτησης του διαστήματος εκκαθάρισης | | producer.purgatory.purge.interval.requests | 1000 | Ο παραγωγός ζητά ένα διάστημα εκκαθάρισης | | zookeeper.session.timeout.ms | 6000 | Τάιμ άουτ συνεδρίας φύλακα ζωολογικού κήπου. | | zookeeper.connection.timeout.ms | 6000 | Το μέγιστο χρονικό διάστημα που περιμένει ο πελάτης για να δημιουργήσει μια σύνδεση με τον φύλακα του ζωολογικού κήπου | | zookeeper.sync.time.ms | 2000 | Το ZK Follower υστερεί σε σχέση με το ZK Leader για το μεγαλύτερο χρονικό διάστημα | | ελεγχόμενο.shutdown.enable | true | Εάν είναι δυνατός ο έλεγχος του κλεισίματος του μεσίτη. Εάν είναι δυνατόν, ο μεσίτης θα μπορεί να μετακινήσει όλους τους ηγέτες σε άλλους μεσίτες πριν κλείσει. Αυτό μειώνει τη μη διαθεσιμότητα κατά τη διαδικασία τερματισμού λειτουργίας. | | controlled.shutdown.max.επαναλήψεις | 3 | Ο αριθμός των εντολών που μπορούν να εκτελέσουν με επιτυχία έναν τερματισμό πριν από την εκτέλεση ενός ατελούς τερματισμού λειτουργίας. | | controlled.shutdown.retry.backoff.ms | 5000 | χρόνος οπισθοδρόμησης μεταξύ τερματισμών λειτουργίας | | auto.leader.rebalance.enable | true | Εάν αυτό ισχύει, ο ελεγκτής θα εξισορροπήσει αυτόματα την ηγεσία των μεσιτών στις κατατμήσεις | | leader.ανισορροπία.per.broker.ποσοστό | 10 | Ο μέγιστος δείκτης ανισορροπίας που επιτρέπεται από κάθε μεσίτη | | ηγέτης.ανισορροπία.έλεγχος.διάστημα.δευτερόλεπτα | 300 | Ελέγξτε τη συχνότητα της ανισορροπίας του οδηγού | | offset.metadata.max.bytes | 4096 | Επιτρέπει στους πελάτες να αποθηκεύουν τον μέγιστο αριθμό των αντισταθμίσεών τους | | max.connections.per.ip | Int.MaxValue | Ο μέγιστος αριθμός συνδέσεων ανά μεσίτη μπορεί να γίνει σε κάθε διεύθυνση IP | | max.connections.per.ip.παρακάμψεις | | Η μέγιστη κάλυψη της προεπιλεγμένης σύνδεσης ανά IP ή όνομα κεντρικού υπολογιστή | | connections.max.idle.ms | 600000 | Όριο χρονικού ορίου για κενές συνδέσεις | | log.roll.jitter. {ms,ώρες} | 0 | Ο μέγιστος αριθμός τρεμούλιασμα που αφαιρέθηκε από το logRollTimeMillis | | num.recovery.threads.per.data.dir | 1 | Ο αριθμός των νημάτων που χρησιμοποιεί κάθε κατάλογος δεδομένων για την καταγραφή της ανάκτησης | | unclean.leader.election.enable | true | Υποδεικνύει εάν είναι δυνατή η χρήση της ρύθμισης μη ρεπλικών στο ISR ως επικεφαλής | | delete.topic.enable | false | Δυνατότητα διαγραφής θεμάτων | | offsets.topic.num.partitions | 50 | Ο αριθμός των κατατμήσεων για το θέμα υποβολής μετατόπισης. Επειδή η αλλαγή αυτής της ρύθμισης μετά την ανάπτυξη δεν υποστηρίζεται αυτήν τη στιγμή, συνιστούμε να χρησιμοποιήσετε μια υψηλότερη ρύθμιση για την παραγωγή (π.χ. 100-200). | | offsets.topic.retention.minutes | 1440 | Οι μετατοπίσεις που έχουν υπάρξει περισσότερο από αυτό το χρονικό όριο θα επισημαίνονται ως εκκρεμείς διαγραφές | | offsets.retention.check.interval.ms | 600000 | Ο διαχειριστής μετατόπισης ελέγχει τη συχνότητα των παλιών αντισταθμίσεων | | offsets.topic.replication.factor | 3 | Ο αριθμός των αντιγράφων ασφαλείας της μετατόπισης του θέματος. Συνιστάται να ορίσετε υψηλότερους αριθμούς για να εξασφαλίσετε μεγαλύτερη διαθεσιμότητα | | offset.topic.segment.bytes | 104857600 | αντισταθμίζει το θέμα. | | offsets.load.buffer.size | 5242880 | Αυτή η ρύθμιση σχετίζεται με το μέγεθος της παρτίδας και χρησιμοποιείται κατά την ανάγνωση από το τμήμα αντισταθμίσεων. | | offsets.commit.required.acks | -1 | Ο αριθμός των επιβεβαιώσεων πρέπει να οριστεί πριν γίνει αποδεκτή η υποβολή μετατόπισης και γενικά δεν χρειάζεται να αλλάξει |
| Ιδιοκτησία | Προεπιλογή | Προεπιλεγμένη ιδιότητα διακομιστή | Περιγραφή | | cleanup.πολιτική | Διαγραφή | log.cleanup.πολιτική | Είτε "διαγραφή" είτε "συμπαγής". Αυτή η συμβολοσειρά υποδεικνύει πώς να χρησιμοποιήσετε το παλιό τμήμα καταγραφής. Η προεπιλεγμένη μέθοδος ("διαγραφή") θα απορρίψει το παλιό εξάρτημα όταν συμπληρωθεί ο χρόνος ανακύκλωσης ή το όριο μεγέθους τους. Το "Compact" θα συμπιέσει τα αρχεία καταγραφής | | delete.retention.ms | 86400000 (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.bytes | 4096 | log.index.interval.bytes | Η προεπιλεγμένη ρύθμιση διασφαλίζει ότι προσθέτουμε ένα ευρετήριο στο μήνυμα κάθε 4096 byte και περισσότερα ευρετήρια κάνουν το αναγνωσμένο μήνυμα πιο κοντά, αλλά το μέγεθος του ευρετηρίου θα αυξηθεί. Αυτή η επιλογή γενικά δεν απαιτείται | | max.message.bytes | 1000000 | max.message.bytes | Το μέγιστο μέγεθος του μηνύματος προσάρτησης kafka. Λάβετε υπόψη ότι εάν αυξήσετε αυτό το μέγεθος, πρέπει επίσης να αυξήσετε το μέγεθος ανάκτησης του καταναλωτή σας, ώστε ο καταναλωτής να μπορεί να λαμβάνει μηνύματα σε αυτά τα μέγιστα μεγέθη. | | min.cleanable.dirty.ratio | 0.5 | min.cleanable.dirty.ratio | Αυτή η διαμόρφωση ελέγχει πόσο συχνά ο συμπιεστής κορμών επιχειρεί να καθαρίσει τα αρχεία καταγραφής. Από προεπιλογή, τα αρχεία καταγραφής με ρυθμό συμπίεσης άνω του 50% θα αποφεύγονται. Αυτή η αναλογία αποφεύγει τη μεγαλύτερη σπατάλη χώρου | | min.insync.replicas | 1 | min.insync.replicas | Όταν η πύλη παροχής έχει οριστεί σε request.required.acks σε -1, το min.insync.replicas καθορίζει τον ελάχιστο αριθμό ρεπλικών (κάθε εγγραφή repica πρέπει να είναι επιτυχής) και εάν δεν επιτευχθεί αυτός ο αριθμός, η πύλη παραγωγής θα δημιουργήσει μια εξαίρεση. | | retention.bytes | Κανένας | log.retention.bytes | Εάν χρησιμοποιείτε την πολιτική διατήρησης "διαγραφής", αυτή η ρύθμιση παραμέτρων αναφέρεται στο μέγιστο μέγεθος που μπορεί να επιτύχει το αρχείο καταγραφής πριν από τη διαγραφή του. Από προεπιλογή, δεν υπάρχει όριο μεγέθους αλλά μόνο χρονικό όριο | | retention.ms | 7 ημέρες | log.retention.λεπτά | Εάν χρησιμοποιείτε την πολιτική διατήρησης "διαγραφή", αυτή η ρύθμιση παραμέτρων αναφέρεται στο χρόνο αποθήκευσης του αρχείου καταγραφής πριν από το αρχείο καταγραφής διαγραφής. | | τμήμα.bytes | 1 GB | log.τμήμα.bytes | Στο Kafka, τα αρχεία καταγραφής αποθηκεύονται σε κομμάτια και αυτή η διαμόρφωση αναφέρεται στο μέγεθος των αρχείων καταγραφής χωρισμένο σε κομμάτια | | τμήμα.index.bytes | 10 MB | log.index.size.max.bytes | Αυτή η διαμόρφωση αφορά το μέγεθος του αρχείου ευρετηρίου που αντιστοιχίζεται μεταξύ μετατοπίσεων και θέσεων αρχείων. Αυτή η διαμόρφωση γενικά δεν χρειάζεται να τροποποιηθεί | | segment.ms | 7 ημέρες | log.roll.ώρες | Ακόμα κι αν το αρχείο τμήματος καταγραφής δεν φτάσει στο μέγεθος που πρέπει να διαγραφεί ή να συμπιεστεί, μόλις ο χρόνος καταγραφής φτάσει σε αυτό το ανώτατο όριο, θα επιβληθεί ένα νέο αρχείο τμήματος καταγραφής | | segment.jitter.ms | 0 | 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.ms | 30*100 | Χρονικά όρια για αιτήματα δικτύου. Το πραγματικό όριο χρονικού ορίου είναι max.fetch.wait+socket.timeout.ms | | socket.receive.buffer.bytes | 64*1024 | Η υποδοχή χρησιμοποιείται για τη λήψη του μεγέθους της προσωρινής μνήμης των αιτημάτων δικτύου | | fetch.message.max.bytes | 1024*1024 | Ο μέγιστος αριθμός byte ανά μήνυμα ανάκτησης ανά αίτημα ανάκτησης. Αυτά τα byte θα επιβλέπονται στη μνήμη που χρησιμοποιείται για κάθε διαμέρισμα, επομένως αυτή η ρύθμιση θα ελέγχει την ποσότητα μνήμης που χρησιμοποιείται από τον καταναλωτή. Το μέγεθος του αιτήματος ανάκτησης πρέπει να είναι τουλάχιστον ίσο με το μέγιστο μέγεθος μηνύματος που επιτρέπεται από τον διακομιστή, διαφορετικά το μέγεθος του μηνύματος που μπορεί να στείλει ο παραγωγός είναι μεγαλύτερο από το μέγεθος που μπορεί να καταναλώσει ο καταναλωτής. | | num.consumer.fetchers | 1 | Ο αριθμός των νημάτων ανάκτησης που χρησιμοποιούνται για την ανάκτηση δεδομένων | | auto.commit.enable | true | Εάν αληθεύει, η μετατόπιση του μηνύματος που λαμβάνεται από τον καταναλωτή θα συγχρονιστεί αυτόματα με τον φύλακα του ζωολογικού κήπου. Αυτή η μετατόπιση δέσμευσης θα χρησιμοποιηθεί από τον νέο καταναλωτή όταν η διεργασία τερματιστεί | | auto.commit.interval.ms | 60*1000 | Η συχνότητα με την οποία ο καταναλωτής υποβάλλει μετατόπιση στον φύλακα του ζωολογικού κήπου είναι σε δευτερόλεπτα | | queued.max.μήνυμα.κομμάτια | 2 | Ο μέγιστος αριθμός μηνυμάτων που χρησιμοποιούνται για την προσωρινή αποθήκευση για κατανάλωση. Κάθε κομμάτι πρέπει να είναι το ίδιο με το fetch.message.max.bytes | | rebalance.max.επαναλήψεις | 4 | Όταν ένας νέος καταναλωτής προστίθεται σε μια ομάδα καταναλωτών, η συλλογή καταναλωτών επιχειρεί να εξισορροπήσει εκ νέου τον αριθμό των κατατμήσεων που έχουν εκχωρηθεί σε κάθε καταναλωτή. Εάν αλλάξει η είσπραξη των καταναλωτών, αυτή η επανεξισορρόπηση αποτυγχάνει και επανεγκαθίσταται κατά την εκτέλεση της κατανομής | | fetch.min.bytes | 1 | Ο ελάχιστος αριθμός byte που πρέπει να επιστρέφει ο διακομιστής με κάθε αίτημα ανάκτησης. Εάν δεν επιστραφούν αρκετά δεδομένα, το αίτημα περιμένει μέχρι να επιστραφούν αρκετά δεδομένα. | | fetch.wait.max.ms | 100 | Εάν δεν υπάρχουν αρκετά δεδομένα για να ικανοποιήσουν το fetch.min.bytes, αυτή η διαμόρφωση αναφέρεται στο μέγιστο χρονικό διάστημα που θα αποκλείσει ο διακομιστής πριν απαντήσει σε ένα αίτημα ανάκτησης. | | rebalance.backoff.ms | 2000 | Χρόνος οπισθοδρόμησης πριν από την επανάληψη της επανάληψης | | refresh.leader.backoff.ms | 200 | Υπάρχει ένας χρόνος υποχώρησης για να περιμένετε πριν προσπαθήσετε να προσδιορίσετε εάν ο ηγέτης μιας διχοτόμησης έχει χάσει την ηγεσία του | | auto.offset.reset | μεγαλύτερο | Εάν δεν υπάρχει αρχικοποιημένη μετατόπιση στο zookeeper, εάν η μετατόπιση είναι μια απάντηση στην ακόλουθη τιμή: μικρότερο: Αυτόματη επαναφορά μετατόπισης στη μικρότερη μετατόπιση largest: Αυτόματη επαναφορά της μετατόπισης στη μετατόπιση της μεγαλύτερης οτιδήποτε άλλο: ρίχνει μια εξαίρεση στον καταναλωτή | | consumer.timeout.ms | -1 | Εάν δεν υπάρχει διαθέσιμο μήνυμα, ακόμη και μετά από αναμονή για ένα συγκεκριμένο χρονικό διάστημα, δημιουργείται μια εξαίρεση χρονικού ορίου | | exclude.internal.topics | true | Εάν θα εκτεθούν μηνύματα από εσωτερικά θέματα στους καταναλωτές | | paritition.ανάθεση.στρατηγική | Εύρος | Επιλέξτε την πολιτική για την αντιστοίχιση διαμερισμάτων στη ροή καταναλωτή, προαιρετικά περιοχή, roundrobin | | client.id | Τιμή αναγνωριστικού ομάδας | είναι μια συμβολοσειρά για συγκεκριμένο χρήστη που βοηθά στην παρακολούθηση κλήσεων σε κάθε αίτημα. Θα πρέπει λογικά να επιβεβαιώσει την εφαρμογή που δημιούργησε το αίτημα | | zookeeper.session.timeout.ms | 6000 | Όρια χρονικού ορίου για συνεδρίες φύλακα ζωολογικού κήπου. Εάν ο καταναλωτής δεν στείλει μήνυμα καρδιακού παλμού στον φύλακα του ζωολογικού κήπου κατά τη διάρκεια αυτής της περιόδου, θεωρείται ότι έχει κλείσει το τηλέφωνο και θα δημιουργηθεί μια απάντηση | | zookeeper.connection.timeout.ms | 6000 | Ο μέγιστος χρόνος αναμονής για έναν πελάτη να δημιουργήσει μια σύνδεση Zookeeper | | zookeeper.sync.time.ms | 2000 | Οι οπαδοί του ZK μπορούν να μείνουν πίσω από τον αρχηγό του ZK για μέγιστο χρονικό διάστημα | | offsets.αποθήκευση | Φύλακας ζωολογικού κήπου | Μέρη που χρησιμοποιούνται για την αποθήκευση μετατοπίσεων: φύλακας ζωολογικού κήπου ή κάφκα | | offset.channel.backoff.ms | 1000 | Ο χρόνος επιστροφής της επανασύνδεσης στο κανάλι μετατοπίσεων ή της επανάληψης της αίτησης ανάκτησης/δέσμευσης της αποτυχημένης μετατόπισης | | offsets.channel.socket.timeout.ms | 10000 | Το όριο χρονικού ορίου υποδοχής για την απόκριση στην απόκριση αιτήματος ανάκτησης/δέσμευσης κατά την ανάγνωση της μετατόπισης. Αυτό το χρονικό όριο χρησιμοποιείται από το αίτημα consumerMetadata για να ζητήσει διαχείριση μετατόπισης | | offsets.commit.max.επαναλήψεις | 5 | Ο αριθμός των επαναλήψεων της υποβολής μετατόπισης. Αυτή η επανάληψη εφαρμόζεται μόνο για την αντιστάθμιση υποβολών μεταξύ τερματισμού λειτουργίας. τον | | dual.commit.enabled | true | Εάν χρησιμοποιείτε το "kafka" ως offsets.storage, μπορείτε να δεσμεύσετε μετατόπιση στον φύλακα του ζωολογικού κήπου δύο φορές (και μία στον κάφκα). Αυτό είναι απαραίτητο κατά τη μετάβαση από την αποθήκευση όφσετ που βασίζεται σε ζωολογικό κήπο στην αποθήκευση όφσετ που βασίζεται στον κάφκα. Για κάθε δεδομένη ομάδα καταναλωτών, είναι μια ασφαλής σύσταση να απενεργοποιήσετε αυτήν την επιλογή όταν ολοκληρωθεί η μετεγκατάσταση | | partition.assignment.στρατηγική | Εύρος | Επιλέξτε μεταξύ των πολιτικών "εύρος" και "roundrobin" ως πολιτική για την εκχώρηση κατατμήσεων σε ροές δεδομένων καταναλωτών. Ο κυκλικός κατανεμητής διαμερισμάτων κατανέμει όλα τα διαθέσιμα διαμερίσματα καθώς και όλα τα διαθέσιμα νήματα καταναλωτή. Θα αντιστοιχίσει τον βρόχο κατάτμησης στο νήμα καταναλωτή. Εάν όλες οι περιπτώσεις καταναλωτή είναι εγγεγραμμένες σε έναν καθορισμένο, οι κατατμήσεις χωρίζονται σε ντετερμινιστικές κατανομές. Η στρατηγική κυκλικής κατανομής είναι δυνατή μόνο εάν πληρούνται οι ακόλουθες προϋποθέσεις: (1) Κάθε θέμα έχει τον ίδιο αριθμό ροών δεδομένων ανά ισχύ καταναλωτή. (2) Η συλλογή των εγγεγραμμένων θεμάτων καθορίζεται για κάθε περίπτωση καταναλωτή στην ομάδα καταναλωτών. |
Ρυθμίσεις πύλης
| Ιδιοκτησία | Προεπιλογή | Περιγραφή | | metadata.broker.list | | Σερβίρετε bootstrapping. Το Producer χρησιμοποιείται μόνο για τη λήψη μεταδεδομένων (θέματα, διαμερίσματα, αντίγραφα). Η σύνδεση υποδοχής για την αποστολή των πραγματικών δεδομένων θα δημιουργηθεί με βάση τα δεδομένα μεταδεδομένων που επιστρέφονται. Η μορφή είναι: host1:θύρα1,host2:θύρα2 Αυτή η λίστα μπορεί να είναι μια υπολίστα μεσιτών ή ένα VIP που δείχνει σε μεσίτες | | αίτημα.απαιτείται.acks | 0 | Αυτή η διαμόρφωση είναι μια τιμή επιβεβαίωσης που υποδεικνύει πότε ένα αίτημα παραγωγής θεωρείται ολοκληρωμένο. Συγκεκριμένα, πόσοι άλλοι μεσίτες πρέπει να έχουν υποβάλει δεδομένα στα αρχεία καταγραφής τους και να έχουν επιβεβαιώσει αυτές τις πληροφορίες στον αρχηγό τους. Οι τυπικές τιμές περιλαμβάνουν: 0: Υποδεικνύει ότι ο παραγωγός δεν περιμένει ποτέ επιβεβαίωση από τον μεσίτη (ίδια συμπεριφορά με το 0,7). Αυτή η επιλογή παρέχει τον μικρότερο λανθάνοντα χρόνο αλλά ταυτόχρονα και τον μεγαλύτερο κίνδυνο (επειδή τα δεδομένα χάνονται όταν ο διακομιστής πέφτει). 1: Υποδεικνύει ότι η ρεπλίκα οδηγού έχει λάβει την επιβεβαίωση δεδομένων. Αυτή η επιλογή έχει χαμηλό λανθάνοντα χρόνο και διασφαλίζει ότι ο διακομιστής επιβεβαιώνει ότι έχει ληφθεί. -1: Η πύλη παροχής λαμβάνει επιβεβαίωση ότι όλες οι συγχρονισμένες ρεπλίκες έχουν λάβει δεδομένα. Ο λανθάνων χρόνος είναι ο μεγαλύτερος, ωστόσο, αυτή η μέθοδος δεν εξαλείφει εντελώς τον κίνδυνο απώλειας μηνυμάτων, επειδή ο αριθμός των συγχρονισμένων ρεπλικών μπορεί να είναι 1. Εάν θέλετε να εξασφαλίσετε ότι ορισμένες ρεπλίκες λαμβάνουν δεδομένα, τότε θα πρέπει να ορίσετε την επιλογή min.insync.replicas στις ρυθμίσεις επιπέδου θέματος. Διαβάστε την τεκμηρίωση σχεδιασμού για μια πιο εμπεριστατωμένη συζήτηση. | | request.timeout.ms | 10000 | Ο μεσίτης καταβάλλει κάθε δυνατή προσπάθεια για να εφαρμόσει την απαίτηση request.required.acks, διαφορετικά θα σταλεί ένα σφάλμα στον πελάτη | | παραγωγός.τύπος | συγχρονισμός | Αυτή η επιλογή καρφιτσώνει εάν το μήνυμα αποστέλλεται ασύγχρονα σε ένα νήμα παρασκηνίου. Σωστές τιμές: (1) ασύγχρονη: Ασύγχρονη αποστολή (2) συγχρονισμός: Συγχρονισμένη αποστολή Ρυθμίζοντας τον παραγωγό σε ασύγχρονο, μπορούμε να επεξεργαστούμε αιτήματα σε παρτίδες (κάτι που είναι καλό για υψηλότερη απόδοση), αλλά αυτό δημιουργεί επίσης την πιθανότητα το μηχάνημα-πελάτης να χάσει τα μη απεσταλμένα δεδομένα | | σειριοποιητής.τάξη | kafka.serializer.DefaultEncoder | Η κατηγορία σειριοποίησης του μηνύματος. Ο προεπιλεγμένος κωδικοποιητής εισάγει ένα byte[] και επιστρέφει το ίδιο byte[] | | key.serializer.κλάση | | Κλάση σειριοποίησης για λέξεις-κλειδιά. Εάν αυτό δεν δίνεται, η προεπιλογή είναι να ταιριάζει με το μήνυμα | | partitioner.κλάση | kafka.producer.DefaultPartitioner | partitioner για να χωρίσετε τα μηνύματα μεταξύ υποθεμάτων. Το προεπιλεγμένο partitioner βασίζεται στον πίνακα κατακερματισμού του κλειδιού | | συμπίεση.κωδικοποιητής | κανένας | Αυτή η παράμετρος μπορεί να ορίσει τον κωδικοποιητή για τη συμπίεση δεδομένων, ο οποίος μπορεί να επιλεγεί ως "κανένας", "gzip", "snappy". | | συμπιεσμένα.θέματα | άκυρος | Αυτή η παράμετρος μπορεί να χρησιμοποιηθεί για να ορίσετε εάν ορισμένα θέματα συμπιέζονται. Εάν ο συμπιεσμένος κωδικοποιητής είναι κωδικοποιητής διαφορετικός από το NoCompressCodec, αυτοί οι κωδικοποιητές εφαρμόζονται στα δεδομένα καθορισμένων θεμάτων. Εάν η λίστα των συμπιεσμένων θεμάτων είναι κενή, εφαρμόστε τον συγκεκριμένο συμπιεσμένο κωδικοποιητή σε όλα τα λήμματα. Εάν ο συμπιεσμένος κωδικοποιητής είναι NoCompressionCodec, η συμπίεση δεν είναι διαθέσιμη για όλα τα θέματα. | | message.send.max.επαναλήψεις | 3 | Αυτή η παράμετρος θα έχει ως αποτέλεσμα η πύλη παροχής να επαναλάβει αυτόματα τις αιτήσεις αποστολής που απέτυχαν. Αυτή η παράμετρος καρφιτσώνει τον αριθμό των επαναλήψεων. Σημείωση: Ο ορισμός μιας τιμής που δεν είναι 0 θα προκαλέσει την επανάληψη ορισμένων σφαλμάτων δικτύου: θα προκαλέσει μια αποστολή και θα προκαλέσει απώλεια επιβεβαίωσης | | retry.backoff.ms | 100 | Πριν από κάθε επανάληψη, ο παραγωγός ενημερώνει τα μεταδεδομένα του σχετικού θέματος για να δει εάν έχει εκχωρηθεί ο νέος οδηγός. Επειδή η επιλογή αρχηγού απαιτεί λίγο χρόνο, αυτή η επιλογή καθορίζει πόσο χρόνο πρέπει να περιμένει ο παραγωγός πριν ενημερώσει τα μεταδεδομένα. | | topic.metadata.refresh.interval.ms | 600*1000 | Ο παραγωγός ενημερώνει γενικά τα μεταδεδομένα του θέματος σε ορισμένα σενάρια αποτυχίας (λείπει η κατάτμηση, ο οδηγός δεν είναι διαθέσιμος κ.λπ.). Θα περάσει από έναν κανονικό κύκλο. Εάν τα ορίσετε σε αρνητική τιμή, τα μεταδεδομένα θα ενημερωθούν μόνο εάν αποτύχει. Εάν οριστεί σε 0, τα μεταδεδομένα ενημερώνονται μετά την αποστολή κάθε μηνύματος (αυτή η επιλογή δεν συνιστάται, το σύστημα καταναλώνει πάρα πολύ). Σημαντικό: Οι ενημερώσεις πραγματοποιούνται μόνο μετά την αποστολή του μηνύματος, επομένως, αν ο παραγωγός δεν στείλει ποτέ το μήνυμα, τα μεταδεδομένα δεν ενημερώνονται ποτέ. | | queue.buffering.max.ms | 5000 | Το μέγιστο χρονικό διάστημα κατά το οποίο ο χρήστης αποθηκεύει προσωρινά δεδομένα όταν εφαρμόζεται η ασύγχρονη λειτουργία. Για παράδειγμα, εάν το μήνυμα έχει οριστεί σε 100, τα μηνύματα εντός 100 ms θα υποβάλλονται σε επεξεργασία σε παρτίδες. Αυτό θα βελτιώσει την απόδοση, αλλά θα αυξήσει τον λανθάνοντα χρόνο λόγω της προσωρινής αποθήκευσης. | | queue.buffering.max.μηνύματα | 10000 | Όταν χρησιμοποιείτε την ασύγχρονη λειτουργία, ο μέγιστος αριθμός των μη απεσταλμένων μηνυμάτων που μπορούν να αποθηκευτούν προσωρινά στην ουρά πριν από τον αποκλεισμό της πύλης παροχής ή την απώλεια δεδομένων | | batch.num.μηνύματα | 200 | Όταν χρησιμοποιείτε τη λειτουργία ασυγχρονισμού, μπορείτε να επεξεργαστείτε ομαδικά τον μέγιστο αριθμό μηνυμάτων. Ή ο αριθμός των μηνυμάτων έχει φτάσει σε αυτό το διαδίκτυο ή queue.buffer.max.ms έχει φτάσει και ο παραγωγός θα το επεξεργαστεί | | send.buffer.bytes | 100*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.full | boolean | true | χαμηλός | Όταν εξαντληθεί η προσωρινή μνήμη μας, πρέπει να σταματήσουμε να λαμβάνουμε νέες εγγραφές μηνυμάτων ή να ρίχνουμε σφάλματα. Από προεπιλογή, αυτό έχει οριστεί σε αληθές, ωστόσο κάποιο μπλοκάρισμα μπορεί να μην αξίζει να περιμένετε, επομένως είναι καλύτερο να ρίξετε ένα σφάλμα αμέσως. Αυτό συμβαίνει όταν έχει οριστεί σε 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 | χαμηλός | Ο χρόνος αναμονής πριν προσπαθήσετε να επαναλάβετε μια αποτυχημένη αίτηση παραγωγής. Αποφύγετε να κολλήσετε σε έναν νεκρό βρόχο αποστολής-αποτυχίας.
|
|