Введение
В древней земле Египта царский дворец Фараона стоял в виде великолепного свидетельства о могуществе и процветании царства. Однако под золотым покровом настаивала кризис. Великие амбары Фараона, полные богатств Нила, были в беспорядке. Жрецы, ответственные за управление распределением ресурсов, не могли справиться с требованиями народа.
Вступает Аменхотепи, умелый молодой жрец, которому поручено восстановить порядок в ресурсах царства. Его миссия заключалась в разработке системы, которая обеспечит справедливое и эффективное распределение драгоценных товаров, гарантируя, чтобы каждый гражданин получил свою долю.
Фараон, впечатлённый интеллектом и преданностью Аменхотепи, дал ему доступ к последнему технологическому чудовищу — системе Hadoop YARN (Yet Another Resource Negotiator). С помощью этой мощной herramы Аменхотепи приступил к изучению сложностей Applying Scheduler, ключевого компонента YARN, который помог бы ему достичь своей цели.
Основы планировщиков Hadoop YARN
В этом шаге мы рассмотрим различные политики планирования, доступные в Hadoop YARN, и их соответствующие сценарии использования.
Сначала нам нужно переключиться на пользователя hadoop:
su - hadoop
Hadoop YARN поддерживает две основных политики планирования: Fair Scheduler и Capacity Scheduler. Fair Scheduler 旨在为多个用户和应用程序之间提供资源的公平共享,确保没有单个用户或应用程序垄断集群资源。另一方面,Capacity Scheduler 允许基于预定义的容量限制进行分层队列管理和资源分配。
Чтобы отобразить текущую конфигурацию планировщика, используйте следующую команду:
yarn scheduler -getConf
Эта команда покажет вам текущий активный планировщик и его конфигурацию.
Настройка Fair Scheduler
В этом шаге мы настроим Fair Scheduler, чтобы обеспечить справедливое распределение ресурсов между гражданами царства.
Сначала создайте новый файл конфигурации под названием fair-scheduler.xml в /home/hadoop для 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>
В этой конфигурации мы определили две очереди: citizens и priests. Очередь citizens имеет вес 1.0 и минимальное выделение ресурсов в 1024 МБ памяти и 1 vcore. Очередь priests имеет вес 2.0 и минимальное выделение ресурсов в 2048 МБ памяти и 2 vcores.
Далее примените новую конфигурацию, выполнив следующую команду:
yarn scheduler --setConf /home/hadoop/fair-scheduler.xml
Проверьте, активен ли теперь Fair Scheduler, выполнив команду yarn scheduler -getConf снова.
Настройка Capacity Scheduler
В этом шаге мы настроим Capacity Scheduler для распределения ресурсов на основе заранее определенных ограничений по пропускной способности.
Сначала создайте новый файл конфигурации под названием capacity-scheduler.xml в /home/hadoop/ для 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>
В этой конфигурации мы определили две очереди: citizens и priests. Каждая очередь получает 50% ресурсов кластера.
Далее примените новую конфигурацию, выполнив следующую команду:
yarn scheduler --setConf /home/hadoop/capacity-scheduler.xml
Проверьте, активен ли теперь Capacity Scheduler, выполнив команду yarn scheduler -getConf снова.
Резюме
В этом практическом занятии мы узнали, как настроить и применить различные политики планирования в Hadoop YARN для эффективного управления распределением ресурсов. Освоив Fair Scheduler и Capacity Scheduler, Аменхотепи может обеспечить справедливое распределение ресурсов между гражданами царства и придавать приоритет важным задачам, выполняемым жрецами.
С помощью этого практического опыта мы глубже поняли мощные возможности Hadoop YARN и его способность управлять ресурсами в сложной среде. Применив знания, полученные в этом практическом занятии, мы можем создать эффективные и справедливые системы управления ресурсами, адаптированные к конкретным потребностям нашей организации.



