Hadoop Appliquer le Planificateur

HadoopHadoopBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans la terre antique d'Égypte, le palais du pharaon se dressait comme un magnifique témoignage du pouvoir et de la prospérité du royaume. Cependant, sous la surface dorée, une crise était en train de germer. Les vastes greniers du pharaon, remplis des richesses du Nil, étaient en désordre. Les prêtres, chargés de gérer la distribution des ressources, luttaient pour répondre aux exigences du peuple.

Entrez Amenhotep, un jeune prêtre brillant chargé de rétablir l'ordre dans les ressources du royaume. Sa mission était de développer un système qui assurerait une allocation équitable et efficace des biens précieux, en s'assurant que chaque citoyen reçoive sa part due.

Le pharaon, impressionné par l'intellect et le dévouement d'Amenhotep, lui a accordé l'accès au plus récent merveille technologique - le système Hadoop YARN (Yet Another Resource Negotiator). Avec cet outil puissant à sa disposition, Amenhotep s'est mis à étudier les détails du Applying Scheduler, un composant clé de YARN qui l'aiderait à atteindre son but.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopYARNGroup(["Hadoop YARN"]) hadoop/HadoopYARNGroup -.-> hadoop/yarn_setup("Hadoop YARN Basic Setup") hadoop/HadoopYARNGroup -.-> hadoop/apply_scheduler("Applying Scheduler") hadoop/HadoopYARNGroup -.-> hadoop/resource_manager("Resource Manager") subgraph Lab Skills hadoop/yarn_setup -.-> lab-288957{{"Hadoop Appliquer le Planificateur"}} hadoop/apply_scheduler -.-> lab-288957{{"Hadoop Appliquer le Planificateur"}} hadoop/resource_manager -.-> lab-288957{{"Hadoop Appliquer le Planificateur"}} end

Comprendre les planificateurs Hadoop YARN

Dans cette étape, nous allons explorer les différents politiques de planification disponibles dans Hadoop YARN et leurs cas d'utilisation respectifs.

Tout d'abord, nous devons changer d'utilisateur en utilisateur Hadoop :

su - hadoop

Hadoop YARN prend en charge deux politiques de planification principales : le Fair Scheduler et le Capacity Scheduler. Le Fair Scheduler vise à offrir une répartition équitable des ressources entre plusieurs utilisateurs et applications, en s'assurant qu'aucun utilisateur ou application ne monopolise les ressources du cluster. En revanche, le Capacity Scheduler permet une gestion hiérarchique de files d'attente et une allocation de ressources basée sur des limites de capacité prédéfinies.

Pour afficher la configuration actuelle du planificateur, utilisez la commande suivante :

yarn scheduler -getConf

Cette commande vous montrera le planificateur actuellement actif et sa configuration.

Configurer le Fair Scheduler

Dans cette étape, nous allons configurer le Fair Scheduler pour garantir une répartition équitable des ressources entre les citoyens du royaume.

Tout d'abord, créez un nouveau fichier de configuration appelé fair-scheduler.xml dans /home/hadoop pour le 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>

Dans cette configuration, nous avons défini deux files d'attente : citizens et priests. La file d'attente citizens a un poids de 1,0 et une allocation minimale de ressources de 1024 Mo de mémoire et 1 cœur virtuel. La file d'attente priests a un poids de 2,0 et une allocation minimale de ressources de 2048 Mo de mémoire et 2 cœurs virtuels.

Ensuite, appliquez la nouvelle configuration en exécutant la commande suivante :

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

Vérifiez que le Fair Scheduler est maintenant actif en exécutant à nouveau la commande yarn scheduler -getConf.

Configurer le Capacity Scheduler

Dans cette étape, nous allons configurer le Capacity Scheduler pour allouer des ressources en fonction de limites de capacité prédéfinies.

Tout d'abord, créez un nouveau fichier de configuration appelé capacity-scheduler.xml dans /home/hadoop/ pour le 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>

Dans cette configuration, nous avons défini deux files d'attente : citizens et priests. Chaque file d'attente est allouée 50 % des ressources du cluster.

Ensuite, appliquez la nouvelle configuration en exécutant la commande suivante :

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

Vérifiez que le Capacity Scheduler est maintenant actif en exécutant à nouveau la commande yarn scheduler -getConf.

Sommaire

Dans ce laboratoire, nous avons appris à configurer et à appliquer différentes politiques de planification dans Hadoop YARN pour gérer efficacement l'allocation de ressources. En maîtrisant le Fair Scheduler et le Capacity Scheduler, Amenhotep peut s'assurer d'une répartition équitable des ressources entre les citoyens du royaume et de prioriser les tâches critiques effectuées par les prêtres.

Grâce à cette expérience pratique, nous avons acquis une compréhension plus approfondie des puissantes capacités de Hadoop YARN et de sa capacité à gérer les ressources dans un environnement complexe. En appliquant les connaissances acquises dans ce laboratoire, nous pouvons construire des systèmes de gestion de ressources efficaces et équitables adaptés aux besoins spécifiques de notre organisation.