Подключение к YARN через CLI
Подключение
YARN предоставляет интерфейс командной строки, реализованный в виде скрипта bin/yarn. Чтобы взаимодействовать с YARN через CLI, подключитесь к хосту кластера с YARN через SSH и запустите нужную команду.
Для проверки работы YARN CLI можно запросить версию с помощью команды:
$ yarn version
Пример вывода:
Hadoop 3.1.2 Source code repository git@ssh.gitlab.adsw.io:arenadata/infrastructure/code/ci/prj_adh.git -r 2bfc95569d9993d795ded4878847f3f3db76e77c Compiled by jenkins on 2023-09-07T07:57Z Compiled with protoc 2.5.0 From source with checksum 38903f2495a81dfd8e2d8fc4f659a92 This command was run using /usr/lib/hadoop/hadoop-common-3.1.2.jar
Запуск команды yarn
без аргументов выводит список всех команд.
Команды имеют следующий синтаксис:
$ yarn [SHELL_OPTIONS] COMMAND [GENERIC_OPTIONS] [SUB_COMMAND] [COMMAND_OPTIONS]
Полезные команды
В этом разделе приведены команды, которые могут быть полезны при работе с YARN.
Мониторинг нагрузки кластера
Чтобы увидеть обновляемый в реальном времени список приложений и используемых ими ресурсов, запустите:
$ yarn top
Пример вывода:
YARN top - 11:54:03, up 0d, 2:9, 1 active users, queue(s): root NodeManager(s): 1 total, 1 active, 0 unhealthy, 0 decommissioned, 0 lost, 0 rebooted Queue(s) Applications: 1 running, 1 submitted, 0 pending, 0 completed, 0 killed, 0 failed Queue(s) Mem(GB): 0 available, 6 allocated, 9 pending, 0 reserved Queue(s) VCores: 0 available, 5 allocated, 9 pending, 0 reserved Queue(s) Containers: 5 allocated, 9 pending, 0 reserved APPLICATIONID USER TYPE QUEUE PRIOR #CONT #RCONT VCORES RVCORES MEM RMEM VCORESECS MEMSECS %PROGR T application_1705311887839_0001 yarn mapreduce default 0 5 0 5 0 6G 0G 57 75 16.25 00:00
Эта команда выводит обновляющийся список приложений. Чтобы увидеть статический список запущенных приложений, используйте команду application -list
.
Вывод списка приложений
Чтобы увидеть список приложений, запущенных на хосте, выполните:
$ yarn application -list
Вы можете фильтровать список приложений, используя опции:
-
-appTypes
— фильтровать по типам приложений; -
-appStates
— фильтровать по статусу приложений; -
-appTags
— фильтровать по тегам приложений.
Пример вывода:
2024-01-15 11:56:01,792 INFO client.RMProxy: Connecting to ResourceManager at elenas-adh2.ru-central1.internal/127.0.0.1:8032 2024-01-15 11:56:02,241 INFO client.AHSProxy: Connecting to Application History server at elenas-adh2.ru-central1.internal/127.0.0.1:10200 Total number of applications (application-types: [], states: [SUBMITTED, ACCEPTED, RUNNING] and tags: []):1 Application-Id Application-Name Application-Type User Queue State Final-State Progress Tracking-URL application_1705311887839_0002 QuasiMonteCarlo MAPREDUCE yarn default RUNNING UNDEFINED 5% http://elenas-adh3.ru-central1.internal:33585
Принудительное завершение
Чтобы завершить работу приложения, которое перестало отвечать, выполните:
$ yarn application -kill <Application ID>
Где <Application ID>
— это идентификатор приложения, которое нужно остановить. В команде можно передать несколько ID, разделенных пробелами.
Более подробную информацию о командах YARN можно получить в статье YARN CLI.