YARN
Τι είναι το YARN;
Το YARN σημαίνει Yet Another Resource Negotiator. Είναι μια τεχνολογία διαχείρισης συμπλεγμάτων και ένα βασικό στοιχείο του πλαισίου λογισμικού ανοιχτού κώδικα Apache Hadoop, σχεδιασμένο για τη διαχείριση υπολογιστικών πόρων σε συμπλέγματα και τον προγραμματισμό εφαρμογών χρηστών.
Ποια είναι η κύρια λειτουργία του YARN;
Το YARN είναι υπεύθυνο για την κατανομή πόρων συστήματος, όπως μνήμης (RAM) και πυρήνων CPU, σε διάφορες εφαρμογές που εκτελούνται σε ένα σύμπλεγμα υλικού. Διαχωρίζει τις δυνατότητες διαχείρισης πόρων από τις λειτουργίες προγραμματισμού και παρακολούθησης εργασιών, διασφαλίζοντας ότι οι πόροι υλικού κατανέμονται σύμφωνα με τις συγκεκριμένες απαιτήσεις κάθε εκτελούμενης εργασίας.
Πώς διαχειρίζεται τεχνικά το YARN τους πόρους;
Το YARN λειτουργεί με βάση ένα πρωτεύον/δευτερεύον αρχιτεκτονικό μοντέλο. Ένα κεντρικό στοιχείο που ονομάζεται ResourceManager υπαγορεύει την κατανομή των υπολογιστικών πόρων σε ολόκληρο το σύμπλεγμα. Σε κάθε μεμονωμένο διακομιστή (κόμβο) εντός του συμπλέγματος, ένα δευτερεύον στοιχείο που ονομάζεται NodeManager παρακολουθεί τη συγκεκριμένη χρήση πόρων αυτού του μηχανήματος, συμπεριλαμβανομένης της CPU, της μνήμης, του δίσκου και του δικτύου και αναφέρει συνεχώς αυτά τα δεδομένα πίσω στο ResourceManager.
Ποιες γλώσσες προγραμματισμού και βιβλιοθήκες αλληλεπιδρούν με το YARN;
Το YARN είναι γραμμένο στη γλώσσα προγραμματισμού Java. Ωστόσο, υποστηρίζει κατανεμημένα πλαίσια επεξεργασίας δεδομένων όπως το Apache Spark, το Apache Flink και το Hadoop MapReduce. Οι προγραμματιστές μπορούν να γράψουν εφαρμογές για αυτά τα πλαίσια χρησιμοποιώντας γλώσσες όπως Python, Java, R και Scala. Το YARN λειτουργεί κάτω από αυτά τα πλαίσια, που σημαίνει ότι βιβλιοθήκες όπως το PySpark (Python) ή το Spark RDD API (Java/Scala) υποβάλλουν τις απαιτήσεις πόρων τους στο YARN για εκτέλεση.
Γιατί είναι απαραίτητο το YARN για συστήματα μεγάλων δεδομένων;
Το YARN επιτρέπει σε πολλαπλές, διαφορετικές μηχανές επεξεργασίας δεδομένων να εκτελούνται ταυτόχρονα στο ίδιο σύμπλεγμα υλικού χωρίς να παρεμβαίνουν μεταξύ τους. Ένα σύστημα μπορεί να εκτελέσει επεξεργασία παρτίδας, επεξεργασία ροής και διαδραστικά ερωτήματα SQL ταυτόχρονα, και το YARN επιβάλλει αυστηρά όρια πόρων, έτσι ώστε καμία μεμονωμένη εφαρμογή να μην καταναλώνει ολόκληρη τη χωρητικότητα του συμπλέγματος.
Πώς χρησιμοποιείται το YARN στον τομέα της Επιστήμης Δεδομένων;
Στην επιστήμη δεδομένων, το YARN χρησιμοποιείται για την κατανομή υπολογιστικής ισχύος κατά την ανάλυση τεράστιων συνόλων δεδομένων που υπερβαίνουν την χωρητικότητα αποθήκευσης και μνήμης ενός μόνο υπολογιστή. Για παράδειγμα, εάν ένας επιστήμονας δεδομένων χρησιμοποιεί τη βιβλιοθήκη Python PySpark για να εκτελέσει έναν αλγόριθμο ομαδοποίησης δεδομένων μεγάλης κλίμακας, το YARN κατανέμει τον ακριβή αριθμό πυρήνων CPU και μνήμης RAM που απαιτούνται σε πολλούς διαφορετικούς διακομιστές. Αυτό επιτρέπει την παράλληλη επεξεργασία του συνόλου δεδομένων σε όλο το σύμπλεγμα, διασφαλίζοντας ότι ο αλγόριθμος ολοκληρώνει τον υπολογισμό αποτελεσματικά χωρίς να καταρρέει το σύστημα λόγω περιορισμών μνήμης.