Κοινή χρήση τεχνολογίας

56. Λεπτομερής επεξήγηση της διαμόρφωσης εκτέλεσης διαχείρισης του Flink DataStream

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1 Επισκόπηση
1. Εκτελέστε τη διαμόρφωση

StreamExecutionEnvironment ΠεριέχειExecutionConfig, το οποίο επιτρέπει τον ορισμό τιμών διαμόρφωσης για συγκεκριμένες εργασίες κατά το χρόνο εκτέλεσης.

StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
ExecutionConfig executionConfig = env.getConfig();

Οι ακόλουθες είναι οι διαθέσιμες επιλογές διαμόρφωσης: (έντονη γραφή από προεπιλογή)

  • setClosureCleanerLevel() . Το επίπεδο καθαρισμού κλεισίματος έχει οριστεί από προεπιλογή σεClosureCleanerLevel.RECURSIVE . Το πρόγραμμα καθαρισμού κλεισίματος αφαιρεί τις περιττές αναφορές σε κλάσεις ανώνυμης κλήσης συναρτήσεων στο πρόγραμμα Flink. Μετά την απενεργοποίηση του καθαριστή κλεισίματος, η ανώνυμη λειτουργία του χρήστη μπορεί να αναφέρεται σε κάποια κλάση κλήσεων που δεν μπορεί να σειριοποιηθεί. Αυτό θα έχει ως αποτέλεσμα ο σειριοποιητής να δημιουργήσει μια εξαίρεση. Οι ρυθμιζόμενες τιμές είναι:NONE: απενεργοποιήστε τελείως το καθαριστικό κλεισίματος,TOP_LEVEL: Καθαρίστε μόνο τάξεις ανώτατου επιπέδου χωρίς επανάληψη σε πεδία,RECURSIVE: Καθαρίστε όλα τα πεδία αναδρομικά.
  • getParallelism() / setParallelism(int parallelism) . Ορίζει τον προεπιλεγμένο βαθμό παραλληλισμού για εργασίες.
  • getMaxParallelism() / setMaxParallelism(int parallelism) . Ορίζει τον προεπιλεγμένο μέγιστο παραλληλισμό για εργασίες. Αυτή η ρύθμιση καθορίζει τον μέγιστο βαθμό παραλληλισμού και καθορίζει ένα άνω όριο στη δυναμική κλίμακα.
  • getNumberOfExecutionRetries() / setNumberOfExecutionRetries(int numberOfExecutionRetries) . Ορίστε πόσες φορές οι αποτυχημένες εργασίες θα εκτελούνται ξανά. Η τιμή μηδέν απενεργοποιεί αποτελεσματικά την ανοχή σφαλμάτων.-1 Υποδεικνύει τη χρήση προεπιλογών συστήματος (καθορίζονται στη διαμόρφωση).Αυτή η διαμόρφωση έχει καταργηθεί, χρησιμοποιήστε τη στρατηγική επανεκκίνησης.
  • getExecutionRetryDelay() / setExecutionRetryDelay(long executionRetryDelay) . Ορίζει την καθυστέρηση (σε χιλιοστά του δευτερολέπτου) που περιμένει το σύστημα πριν εκτελέσει ξανά μια εργασία αφού αποτύχει. Μετά την επιτυχή διακοπή όλων των εργασιών στο TaskManagers, η καθυστέρηση υπολογίζεται και μόλις περάσει η καθυστέρηση, οι εργασίες επανεκκινούνται.Αυτή η διαμόρφωση έχει καταργηθεί, χρησιμοποιήστε τη στρατηγική επανεκκίνησης.
  • getExecutionMode() / setExecutionMode() . Η προεπιλεγμένη λειτουργία εκτέλεσης είναι PIPELINED. Ρυθμίστε τη λειτουργία εκτέλεσης για την εκτέλεση του προγράμματος. Η λειτουργία εκτέλεσης καθορίζει εάν η ανταλλαγή δεδομένων πραγματοποιείται σε λειτουργία ομαδικής ή ροής.
  • enableForceKryo() / disableForceKryo . Το Kryo δεν αναγκάζεται να χρησιμοποιηθεί από προεπιλογή. Αναγκάζει το GenericTypeInformation να χρησιμοποιεί τον σειριακό πρόγραμμα Kryo για POJO, παρόλο που μπορούν να αναλυθούν ως POJO. Σε ορισμένες περιπτώσεις, η ενεργοποίηση αυτής της διαμόρφωσης θα πρέπει να προτιμάται. Για παράδειγμα, όταν ο εσωτερικός σειριοποιητής του Flink αποτυγχάνει να χειριστεί σωστά τα POJO.
  • enableForceAvro() / disableForceAvro() . Το Avro δεν είναι αναγκασμένο να χρησιμοποιείται από προεπιλογή. Αναγκάστε το Flink AvroTypeInfo να χρησιμοποιήσει τον σειριοποιητή Avro αντί του Kryo για τη σειριοποίηση των Avro POJO.
  • enableObjectReuse() / disableObjectReuse() . Από προεπιλογή, τα αντικείμενα δεν χρησιμοποιούνται ξανά στο Flink. Η ενεργοποίηση της λειτουργίας επαναχρησιμοποίησης αντικειμένων δίνει εντολή στο χρόνο εκτέλεσης να επαναχρησιμοποιήσει τα αντικείμενα χρήστη για καλύτερη απόδοση. Σημειώστε ότι αυτό μπορεί να προκαλέσει σφάλματα.
  • getGlobalJobParameters() / setGlobalJobParameters() . Αυτή η μέθοδος επιτρέπει στο χρήστη να ορίσει ένα προσαρμοσμένο αντικείμενο ως την καθολική διαμόρφωση της εργασίας.επειδήExecutionConfig Προσβάσιμο σε όλες τις λειτουργίες που καθορίζονται από το χρήστη, επομένως αυτός είναι ένας εύκολος τρόπος για να κάνετε τις διαμορφώσεις διαθέσιμες παγκοσμίως σε όλες τις εργασίες.
  • addDefaultKryoSerializer(Class type, Serializer serializer) . Καταχωρεί μια παρουσία σειριακού προγράμματος Kryo για τον καθορισμένο τύπο.
  • addDefaultKryoSerializer(Class type, Class