Остановка агента Flume

У меня есть требование, когда я хочу запустить агент Flume с каталогом буферизации в качестве источника. После того, как все файлы из каталога спула скопированы в HDFS (приемник), я хочу, чтобы агент остановился, поскольку я знаю, что все файлы помещаются в канал. Также я хочу каждый раз запускать эти шаги для разных каталогов буферизации и останавливать агент, когда все файлы из каталога помечены как .COMPLETED. Есть ли способ остановить флюм агент?


person Aditya Calangutkar    schedule 06.10.2016    source источник
comment
Это не вариант использования Flume   -  person Farooque    schedule 06.10.2016
comment
Хорошо. Может быть, я могу на уровень ниже. Позвольте мне объяснить вам, чего я пытаюсь достичь. У меня есть процесс ETL. Когда пользователь предоставляет входной каталог, я сначала копирую его в HDFS с помощью команды put, а затем запускаю на нем задание MapReduce. Я пытался выяснить, существует ли эффективный способ передачи данных в HDFS, чем с помощью команды put. Итак, я пытался исследуйте Flume, чтобы достичь этого. Но проблема заключается в том, что каждый раз каталог буферизации будет меняться, поскольку пользователи могут захотеть загрузить данные из другого каталога. Соответствует ли это варианту использования Flume? Если нет, есть ли какой-либо другой компонент для этого?   -  person Aditya Calangutkar    schedule 06.10.2016


Ответы (3)


На данный момент я мог бы предложить, чтобы при запуске агента Flume вы открывали терминал агента Flume. Затем на этом терминале выполните ctrl+c, и агент исчезнет.

person Janis Karklins    schedule 18.02.2018

2 способа остановить агент Flume:

  1. Перейдите к терминалу, где запущен агент Flume, и нажмите Ctrl+C, чтобы принудительно убить агента.
  2. Запустите jps с любого терминала и найдите процесс «Приложение». Запишите его идентификатор процесса, а затем запустите kill -9, чтобы завершить процесс.
person Varun    schedule 11.08.2019

Откройте другое дублированное окно сеанса, а затем используйте приведенную ниже команду.

пс –эф | grep лоток

выньте process_id и используйте команду ниже, чтобы убить

убить -9 идентификатор_процесса

Это сработало для меня.

person kartik kudada    schedule 30.05.2020