Hadoop Anwendender Scheduler

HadoopHadoopBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In der antiken Land Ägypten stand das Palais des Pharaos als ein prächtiges Zeugnis für die Macht und den Wohlstand des Königreichs. Unter der vergoldeten Oberfläche tobte jedoch eine Krise. Die riesigen Vorräte des Pharaos, gefüllt mit den Gaben des Nils, lagen in Verwirrung. Die Priester, die für die Verwaltung der Ressourcenverteilung verantwortlich waren, kämpften, die Bedürfnisse der Menschen zu befriedigen.

Eintrat Amenhotep, ein brillanter junger Priester, der mit der Aufgabe betraut war, die Ordnung in den Ressourcen des Königreichs wiederherzustellen. Seine Mission war es, ein System zu entwickeln, das eine faire und effiziente Verteilung der kostbaren Güter gewährleisten würde, um sicherzustellen, dass jeder Bürger seinen gehörigen Anteil erhielt.

Der Pharao, beeindruckt von Amenhoteps Intelligenz und Hingabe, gewährte ihm Zugang zu der neuesten technologischen Wunderwaffe – dem Hadoop YARN (Yet Another Resource Negotiator) System. Mit diesem leistungsstarken Werkzeug in der Hand machte sich Amenhotep daran, die Feinheiten des Applying Schedulers, eines Schlüsselteils von YARN, zu lernen, der ihm dabei helfen würde, sein Ziel zu erreichen.

Das Verständnis der Hadoop YARN Scheduler

In diesem Schritt werden wir die verschiedenen Scheduling-Politiken untersuchen, die in Hadoop YARN verfügbar sind, und ihre jeweiligen Anwendungsfälle.

Zunächst müssen wir den Benutzer auf den Hadoop-Benutzer umschalten:

su - hadoop

Hadoop YARN unterstützt zwei primäre Scheduling-Politiken: den Fair Scheduler und den Capacity Scheduler. Der Fair Scheduler zielt darauf ab, eine faire Ressourcenteilung zwischen mehreren Benutzern und Anwendungen zu gewährleisten, um sicherzustellen, dass kein einzelner Benutzer oder Anwendungsfall die Ressourcen des Clusters monopolisiert. Andererseits ermöglicht der Capacity Scheduler eine hierarchische Warteschlangenverwaltung und eine Ressourcenallokation auf der Grundlage von vordefinierten Kapazitätslimits.

Um die aktuelle Scheduler-Konfiguration anzuzeigen, verwenden Sie den folgenden Befehl:

yarn scheduler -getConf

Dieser Befehl zeigt Ihnen den derzeit aktiven Scheduler und seine Konfiguration an.

Die Konfiguration des Fair Schedulers

In diesem Schritt werden wir den Fair Scheduler konfigurieren, um eine faire Ressourcenverteilung unter den Bürgern des Königreichs sicherzustellen.

Zunächst erstellen wir eine neue Konfigurationsdatei namens fair-scheduler.xml in /home/hadoop für den Fair Scheduler:

<!-- /home/hadoop/fair-scheduler.xml -->
<?xml version="1.0"?>
<allocations>
  <defaultQueueSchedulingPolicy>fair</defaultQueueSchedulingPolicy>
  <queue name="root">
    <weight>1.0</weight>
    <queue name="citizens">
      <weight>1.0</weight>
      <minResources>1024 mb, 1 vcores</minResources>
    </queue>
    <queue name="priests">
      <weight>2.0</weight>
      <minResources>2048 mb, 2 vcores</minResources>
    </queue>
  </queue>
</allocations>

In dieser Konfiguration haben wir zwei Warteschlangen definiert: citizens und priests. Die Warteschlange citizens hat ein Gewicht von 1,0 und eine minimale Ressourcenallokation von 1024 MB Arbeitsspeicher und 1 vCore. Die Warteschlange priests hat ein Gewicht von 2,0 und eine minimale Ressourcenallokation von 2048 MB Arbeitsspeicher und 2 vCores.

Als Nächstes wenden wir die neue Konfiguration an, indem wir folgenden Befehl ausführen:

yarn scheduler --setConf /home/hadoop/fair-scheduler.xml

Verifizieren Sie, dass der Fair Scheduler jetzt aktiv ist, indem Sie erneut den Befehl yarn scheduler -getConf ausführen.

Die Konfiguration des Capacity Schedulers

In diesem Schritt werden wir den Capacity Scheduler konfigurieren, um Ressourcen auf der Grundlage vordefinierter Kapazitätslimits zuzuweisen.

Zunächst erstellen wir eine neue Konfigurationsdatei namens capacity-scheduler.xml in /home/hadoop/ für den Capacity Scheduler:

<!-- /home/hadoop/capacity-scheduler.xml -->
<?xml version="1.0"?>
<configuration>
  <property>
    <name>yarn.scheduler.capacity.root.queues</name>
    <value>citizens,priests</value>
  </property>
  <property>
    <name>yarn.scheduler.capacity.root.citizens.capacity</name>
    <value>50</value>
  </property>
  <property>
    <name>yarn.scheduler.capacity.root.priests.capacity</name>
    <value>50</value>
  </property>
</configuration>

In dieser Konfiguration haben wir zwei Warteschlangen definiert: citizens und priests. Jede Warteschlange erhält 50% der Clusterressourcen zugewiesen.

Als Nächstes wenden wir die neue Konfiguration an, indem wir folgenden Befehl ausführen:

yarn scheduler --setConf /home/hadoop/capacity-scheduler.xml

Verifizieren Sie, dass der Capacity Scheduler jetzt aktiv ist, indem Sie erneut den Befehl yarn scheduler -getConf ausführen.

Zusammenfassung

In diesem Lab haben wir gelernt, wie man verschiedene Scheduling-Politiken in Hadoop YARN konfiguriert und anwendet, um die Ressourcenallokation effektiv zu verwalten. Indem Amenhotep den Fair Scheduler und den Capacity Scheduler beherrscht, kann er eine faire Verteilung der Ressourcen unter den Bürgern des Königreichs gewährleisten und die kritischen Aufgaben, die von den Priestern ausgeführt werden, priorisieren.

Durch diese praktische Erfahrung haben wir ein tieferes Verständnis der leistungsstarken Fähigkeiten von Hadoop YARN und seiner Fähigkeit gewonnen, Ressourcen in einer komplexen Umgebung zu verwalten. Indem wir die im Rahmen dieses Labs gewonnenen Kenntnisse anwenden, können wir effiziente und faire Ressourcenverwaltungssysteme auf die spezifischen Bedürfnisse unserer Organisation zugeschnitten aufbauen.