Διαμορφώστε την υπηρεσία OpenSearch της Amazon για υψηλή διαθεσιμότητα | Υπηρεσίες Ιστού της Amazon

Διαμορφώστε την υπηρεσία OpenSearch της Amazon για υψηλή διαθεσιμότητα | Υπηρεσίες Ιστού της Amazon

Κόμβος πηγής: 2691649

Amazon OpenSearch Service είναι μια μηχανή αναζήτησης και ανάλυσης πλήρως ανοιχτού κώδικα που ξεκλειδώνει με ασφάλεια την αναζήτηση, την παρακολούθηση και την ανάλυση επιχειρηματικών και λειτουργικών δεδομένων σε πραγματικό χρόνο για περιπτώσεις χρήσης όπως μηχανές συστάσεων, ιστότοπους ηλεκτρονικού εμπορίου και αναζήτηση καταλόγων. Για να είστε επιτυχημένοι στην επιχείρησή σας, πρέπει τα συστήματά σας να είναι εξαιρετικά διαθέσιμα και αποδοτικά, ελαχιστοποιώντας το χρόνο διακοπής λειτουργίας και αποφεύγοντας την αποτυχία. Όταν χρησιμοποιείτε την Υπηρεσία OpenSearch ως κύριο μέσο παρακολούθησης της υποδομής σας, πρέπει επίσης να διασφαλίσετε τη διαθεσιμότητά της. Ο χρόνος διακοπής λειτουργίας για την Υπηρεσία OpenSearch μπορεί να έχει σημαντική επίδραση στα αποτελέσματα της επιχείρησής σας, όπως απώλεια εσόδων, απώλεια παραγωγικότητας, απώλεια αξίας επωνυμίας και πολλά άλλα.

Η βιομηχανικό πρότυπο για τη μέτρηση της διαθεσιμότητας είναι τάξη των εννέα. Η Υπηρεσία OpenSearch παρέχει 3 9 διαθεσιμότητα, όταν ακολουθείτε βέλτιστες πρακτικές, πράγμα που σημαίνει ότι εγγυάται λιγότερο από 43.83 λεπτά διακοπής λειτουργίας το μήνα. Σε αυτήν την ανάρτηση, θα μάθετε πώς μπορείτε να διαμορφώσετε τον τομέα σας OpenSearch Service για υψηλή διαθεσιμότητα και απόδοση, ακολουθώντας τις βέλτιστες πρακτικές και συστάσεις κατά τη ρύθμιση του τομέα σας.

Υπάρχουν δύο βασικά στοιχεία που επηρεάζουν τη διαθεσιμότητα του τομέα σας: η χρήση πόρων του τομέα σας, η οποία οφείλεται κυρίως στον φόρτο εργασίας σας, και εξωτερικά συμβάντα, όπως αστοχίες υποδομής. Αν και το πρώτο μπορεί να ελεγχθεί μέσω της συνεχούς παρακολούθησης της απόδοσης και της υγείας του τομέα και της αναλόγως κλιμάκωσης του τομέα, το δεύτερο δεν μπορεί. Για να μειώσετε τον αντίκτυπο εξωτερικών συμβάντων, όπως διακοπή ζώνης διαθεσιμότητας, παρουσία ή αποτυχία δίσκου ή προβλήματα δικτύωσης στον τομέα σας, πρέπει να παρέχετε πρόσθετη χωρητικότητα, κατανεμημένη σε πολλές Ζώνες Διαθεσιμότητας και να διατηρείτε πολλά αντίγραφα δεδομένων. Εάν δεν το κάνετε αυτό, ενδέχεται να υποβαθμιστεί η απόδοση, η μη διαθεσιμότητα και, στη χειρότερη περίπτωση, η απώλεια δεδομένων.

Ας δούμε τις διαθέσιμες επιλογές για να διασφαλίσουμε ότι ο τομέας είναι διαθέσιμος και αποδοτικός.

Διαμόρφωση συμπλέγματος

Σε αυτήν την ενότητα θα μιλήσουμε για διάφορες επιλογές διαμόρφωσης που πρέπει να ρυθμίσετε σωστά το σύμπλεγμα σας, που περιλαμβάνει τον καθορισμό του αριθμού των AZ για την ανάπτυξη, τη ρύθμιση του κύριου κόμβου και των κόμβων δεδομένων, τη ρύθμιση ευρετηρίων και θραυσμάτων.

Ανάπτυξη πολλαπλών AZ

Οι κόμβοι δεδομένων είναι υπεύθυνοι για την επεξεργασία των αιτημάτων δημιουργίας ευρετηρίου και αναζήτησης στον τομέα σας. Η ανάπτυξη των κόμβων δεδομένων σας σε πολλές Ζώνες Διαθεσιμότητας βελτιώνει τη διαθεσιμότητα του τομέα σας προσθέτοντας περιττή αποθήκευση και επεξεργασία δεδομένων ανά ζώνη. Με μια ανάπτυξη Multi-AZ, ο τομέας σας μπορεί να παραμείνει διαθέσιμος ακόμα και όταν μια πλήρης ζώνη διαθεσιμότητας δεν είναι διαθέσιμη. Για φόρτους εργασίας παραγωγής, Η AWS συνιστά τη χρήση τριών ζωνών διαθεσιμότητας για τον τομέα σας. Χρησιμοποιήστε δύο Ζώνες Διαθεσιμότητας για Περιοχές που υποστηρίζουν μόνο δύο για βελτιωμένη διαθεσιμότητα. Αυτό διασφαλίζει ότι ο τομέας σας είναι διαθέσιμος σε περίπτωση αποτυχίας Single-AZ.

Αποκλειστικός διαχειριστής συμπλέγματος (κύριοι κόμβοι)

Η AWS συνιστά τη χρήση τριών αποκλειστικών κόμβων διαχείρισης συμπλέγματος (CM). για όλους τους φόρτους εργασίας παραγωγής. Οι κόμβοι CM παρακολουθούν την υγεία του συμπλέγματος, την κατάσταση και τη θέση των ευρετηρίων και των θραυσμάτων του, την αντιστοίχιση όλων των ευρετηρίων και τη διαθεσιμότητα των κόμβων δεδομένων του και διατηρεί μια λίστα εργασιών σε επίπεδο συμπλέγματος σε εξέλιξη. Χωρίς αποκλειστικούς κόμβους CM, το σύμπλεγμα χρησιμοποιεί κόμβους δεδομένων, γεγονός που καθιστά το σύμπλεγμα ευάλωτο στις απαιτήσεις φόρτου εργασίας. Θα πρέπει να μετρήσετε τους κόμβους CM με βάση το μέγεθος της εργασίας—κυρίως, οι μετρήσεις των κόμβων δεδομένων, οι μετρήσεις των ευρετηρίων και οι μετρήσεις των θραυσμάτων. Η Υπηρεσία OpenSearch αναπτύσσει πάντα κόμβους CM σε τρεις Ζώνες Διαθεσιμότητας, όταν υποστηρίζεται από την Περιοχή (δύο σε μία Ζώνες Διαθεσιμότητας και μία σε άλλες Ζώνες Διαθεσιμότητας, εάν οι περιοχές έχουν μόνο δύο Ζώνες Διαθεσιμότητας). Για έναν τομέα που τρέχει, μόνο ένας από τους τρεις κόμβους CM λειτουργεί ως εκλεγμένος ηγέτης. Οι άλλοι δύο κόμβοι CM συμμετέχουν σε μια εκλογή εάν ο εκλεγμένος κόμβος CM αποτύχει.

Ο παρακάτω πίνακας δείχνει τις συστάσεις της AWS για το μέγεθος CM. Οι κόμβοι CM λειτουργούν με βάση τον αριθμό των κόμβων, των ευρετηρίων, των θραυσμάτων και της αντιστοίχισης. Όσο περισσότερη εργασία, τόσο περισσότερη υπολογιστική και μνήμη χρειάζεται να κρατήσετε και να εργαστείτε με την κατάσταση συμπλέγματος.

Καταμέτρηση περιπτώσεων Μέγεθος RAM κόμβου Διαχείριση συμπλέγματος Μέγιστος υποστηριζόμενος αριθμός θραυσμάτων Προτεινόμενος ελάχιστος τύπος παρουσίας του Dedicated Cluster Manager
1-10 8 GiB 10,000 m5.large.search ή m6g.large.search
11-30 16 GiB 30,000 c5.2xlarge.search ή c6g.2xlarge.search
31-75 32 GiB 40,000 c5.4xlarge.search ή c6g.4xlarge.search
76 - 125 64 GiB 75,000 r5.2xlarge.search ή r6g.2xlarge.search
126 - 200 128 GiB 75,000 r5.4xlarge.search ή r6g.4xlarge.search

Ευρετήρια και θραύσματα

Τα ευρετήρια είναι μια λογική κατασκευή που φιλοξενεί μια συλλογή εγγράφων. Διαχωρίζετε το ευρετήριό σας για παράλληλη επεξεργασία καθορίζοντας έναν κύριο αριθμό θραυσμάτων, όπου τα θραύσματα αντιπροσωπεύουν μια φυσική μονάδα για την αποθήκευση και την επεξεργασία δεδομένων. Στην Υπηρεσία OpenSearch, ένα θραύσμα μπορεί να είναι είτε κύριο θραύσμα είτε αντίγραφο. Χρησιμοποιείτε αντίγραφα για ανθεκτικότητα—αν χαθεί το πρωτεύον θραύσμα, η Υπηρεσία OpenSearch προωθεί ένα από τα αντίγραφα σε κύρια—και για τη βελτίωση της απόδοσης αναζήτησης. Η Υπηρεσία OpenSearch διασφαλίζει ότι το πρωτεύον και το αντίγραφο θραυσμάτων τοποθετούνται σε διαφορετικούς κόμβους και σε διαφορετικές Ζώνες Διαθεσιμότητας, εάν αναπτύσσονται σε περισσότερες από μία Ζώνες Διαθεσιμότητας. Για υψηλή διαθεσιμότητα, το AWS συνιστά να διαμορφώσετε τουλάχιστον δύο αντίγραφα για κάθε ευρετήριο σε ρύθμιση τριών ζωνών για να αποφευχθεί η διακοπή της απόδοσης και της διαθεσιμότητας. Σε μια ρύθμιση Multi-AZ, εάν αποτύχει ένας κόμβος ή στη χειρότερη περίπτωση αποτύχει μια Ζώνη Διαθεσιμότητας, θα εξακολουθείτε να έχετε ένα αντίγραφο των δεδομένων.

Παρακολούθηση και διαχείριση συστάδων

Όπως αναφέρθηκε προηγουμένως, η επιλογή της διαμόρφωσής σας με βάση τις βέλτιστες πρακτικές είναι μόνο η μισή δουλειά. Πρέπει επίσης να παρακολουθούμε συνεχώς τη χρήση των πόρων και την απόδοση για να προσδιορίσουμε εάν ο τομέας πρέπει να κλιμακωθεί. Ένας τομέας που δεν παρέχεται ή χρησιμοποιείται υπερβολικά μπορεί να οδηγήσει σε υποβάθμιση της απόδοσης και τελικά μη διαθεσιμότητα.

Χρήση CPU

Χρησιμοποιείτε την CPU στον τομέα σας για την εκτέλεση του φόρτου εργασίας σας. Κατά γενικό κανόνα, θα πρέπει να στοχεύσετε το 60% της μέσης χρήσης CPU για οποιονδήποτε κόμβο δεδομένων, με κορυφές στο 80% και να ανέχεστε μικρές αιχμές στο 100%. Όταν εξετάζετε τη διαθεσιμότητα, και ειδικά λαμβάνοντας υπόψη τη μη διαθεσιμότητα μιας πλήρους ζώνης, υπάρχουν δύο σενάρια. Εάν έχετε δύο Ζώνες Διαθεσιμότητας, τότε κάθε ζώνη χειρίζεται το 50% της κίνησης. Εάν μια ζώνη καταστεί μη διαθέσιμη, η άλλη ζώνη θα λάβει όλη αυτή την κίνηση, διπλασιάζοντας τη χρήση της CPU. Σε αυτήν την περίπτωση, θα πρέπει να βρίσκεστε στο 30-40% της μέσης χρήσης της CPU σε κάθε ζώνη για να διατηρήσετε τη διαθεσιμότητα. Εάν εκτελείτε τρεις Ζώνες Διαθεσιμότητας, κάθε ζώνη καταλαμβάνει το 33% της επισκεψιμότητας. Εάν μια ζώνη δεν είναι διαθέσιμη, η κάθε άλλη ζώνη θα κερδίσει περίπου 17% επισκεψιμότητα. Σε αυτήν την περίπτωση, θα πρέπει να στοχεύσετε το 50–60% της μέσης χρήσης της CPU.

Αξιοποίηση μνήμης

Η Υπηρεσία OpenSearch υποστηρίζει δύο τύπους συλλογής σκουπιδιών. Το πρώτο είναι η συλλογή απορριμμάτων G1 (G1GC), η οποία χρησιμοποιείται από τους κόμβους της υπηρεσίας OpenSearch, που υποστηρίζονται από AWS Graviton 2. Το δεύτερο είναι το Concurrent Mark Sweep (CMS), το οποίο χρησιμοποιείται από όλους τους κόμβους που τροφοδοτούνται από άλλους επεξεργαστές. Από το σύνολο της μνήμης που εκχωρείται σε έναν κόμβο, η μισή μνήμη (έως 32 GB) εκχωρείται στο σωρό Java και η υπόλοιπη μνήμη χρησιμοποιείται από άλλες εργασίες του λειτουργικού συστήματος, την προσωρινή μνήμη του συστήματος αρχείων κ.λπ. Για να διατηρήσετε τη διαθεσιμότητα για έναν τομέα, συνιστούμε να διατηρήσετε τη μέγιστη χρήση JVM περίπου στο 80% στο CMS και στο 95% στο G1GC. Οτιδήποτε πέρα ​​από αυτό θα επηρεάσει τη διαθεσιμότητα του τομέα σας και θα καθιστούσε το σύμπλεγμα ανθυγιεινό. Συνιστούμε επίσης να ενεργοποιήσετε τον αυτόματο συντονισμό, ο οποίος παρακολουθεί ενεργά τη χρήση της μνήμης και ενεργοποιεί τον συλλέκτη απορριμμάτων.

Αξιοποίηση αποθήκευσης

Η Υπηρεσία OpenSearch δημοσιεύει αρκετές οδηγίες για το μέγεθος των τομέων. Παρέχουμε έναν εμπειρικό τύπο ώστε να μπορείτε να προσδιορίσετε τη σωστή ποσότητα αποθήκευσης που απαιτείται για τις απαιτήσεις σας. Ωστόσο, είναι σημαντικό να προσέχετε την εξάντληση του αποθηκευτικού χώρου με το χρόνο και τις αλλαγές στα χαρακτηριστικά του φόρτου εργασίας. Για να διασφαλίσετε ότι ο χώρος αποθήκευσης δεν θα εξαντληθεί και ότι μπορεί να συνεχίσει να ευρετηριάζει δεδομένα, θα πρέπει να ρυθμίσετε τις παραμέτρους amazoncloudwatch συναγερμούς και παρακολουθήστε τον ελεύθερο αποθηκευτικό σας χώρο.

Το AWS συνιστά επίσης την επιλογή ενός κύριου αριθμού θραυσμάτων, έτσι ώστε κάθε θραύσμα να βρίσκεται εντός μιας ζώνης βέλτιστου μεγέθους. Μπορείτε να προσδιορίσετε το βέλτιστο μέγεθος θραυσμάτων μέσω δοκιμών απόδειξης ιδέας με τα δεδομένα και την επισκεψιμότητά σας. Χρησιμοποιούμε κύρια μεγέθη θραυσμάτων 10–30 GB για περιπτώσεις χρήσης αναζήτησης και 45–50 GB κύρια μεγέθη θραυσμάτων για περιπτώσεις χρήσης αναλυτικών αρχείων καταγραφής ως κατευθυντήρια γραμμή. Επειδή τα θραύσματα είναι οι εργαζόμενοι στον τομέα σας, είναι άμεσα υπεύθυνοι για την κατανομή του φόρτου εργασίας στους κόμβους δεδομένων. Εάν τα θραύσματά σας είναι πολύ μεγάλα, μπορεί να δείτε άγχος στο σωρό Java σας από μεγάλες συναθροίσεις, χειρότερη απόδοση ερωτημάτων και χειρότερη απόδοση σε εργασίες σε επίπεδο συμπλέγματος, όπως η επανεξισορρόπηση θραυσμάτων, τα στιγμιότυπα και οι μετεγκαταστάσεις από ζεστό σε θερμό. Εάν τα θραύσματά σας είναι πολύ μικρά, μπορεί να κατακλύσουν τον χώρο σωρού Java του τομέα, να επιδεινώσουν την απόδοση των ερωτημάτων μέσω υπερβολικής εσωτερικής δικτύωσης και να κάνουν τις εργασίες σε επίπεδο συμπλέγματος αργές. Συνιστούμε επίσης να διατηρείτε τον αριθμό των θραυσμάτων ανά κόμβο ανάλογο με τον διαθέσιμο σωρό (η μισή μνήμη RAM της παρουσίας έως 32 GB)—25 θραύσματα ανά GB σωρού Java. Αυτό δημιουργεί ένα πρακτικό όριο 1,000 θραυσμάτων σε οποιονδήποτε κόμβο δεδομένων στον τομέα σας.

Συμπέρασμα

Σε αυτήν την ανάρτηση, μάθατε διάφορες συμβουλές και κόλπα για να ρυθμίσετε έναν εξαιρετικά διαθέσιμο τομέα χρησιμοποιώντας την Υπηρεσία OpenSearch, η οποία σας βοηθά να διατηρήσετε την Υπηρεσία OpenSearch αποτελεσματική και διαθέσιμη εκτελώντας την σε τρεις Ζώνες Διαθεσιμότητας.

Μείνετε συντονισμένοι για μια σειρά αναρτήσεων που εστιάζουν στις διάφορες δυνατότητες και λειτουργίες με την Υπηρεσία OpenSearch. Εάν έχετε σχόλια σχετικά με αυτήν την ανάρτηση, υποβάλετέ τα στην ενότητα σχολίων. Εάν έχετε ερωτήσεις σχετικά με αυτήν την ανάρτηση, ξεκινήστε ένα νέο νήμα στο Φόρουμ OpenSearch Service ή την επαφή Υποστήριξη AWS.


Σχετικά με τους συγγραφείς

Ροχίν Μπαργκάβα είναι Διευθυντής Προϊόντων Sr. με την ομάδα της Amazon OpenSearch Service. Το πάθος του στην AWS είναι να βοηθά τους πελάτες να βρουν τον σωστό συνδυασμό υπηρεσιών AWS για να πετύχουν τους επιχειρηματικούς τους στόχους.

Prashant Agrawal είναι αρχιτέκτονας λύσεων ειδικού αναζήτησης με την υπηρεσία Amazon OpenSearch. Συνεργάζεται στενά με τους πελάτες για να τους βοηθήσει να μεταφέρουν τον φόρτο εργασίας τους στο cloud και βοηθά τους υπάρχοντες πελάτες να ρυθμίσουν με ακρίβεια τα cluster τους για να επιτύχουν καλύτερη απόδοση και να εξοικονομήσουν κόστος. Πριν γίνει μέλος της AWS, βοήθησε διάφορους πελάτες να χρησιμοποιήσουν το OpenSearch και το Elasticsearch για τις περιπτώσεις χρήσης αναλύσεων αναζήτησης και καταγραφής. Όταν δεν εργάζεται, μπορείτε να τον βρείτε να ταξιδεύει και να εξερευνά νέα μέρη. Με λίγα λόγια, του αρέσει να κάνει Eat → Travel → Repeat.

Σφραγίδα ώρας:

Περισσότερα από Μεγάλα δεδομένα AWS