Убить искру приложение - PullRequest
0 голосов
/ 13 ноября 2018

Я хотел убить идентификатор приложения spark, если он работает, например, дольше определенного времени.один час.Есть ли способ добиться в Unix-скрипте, работающем под конкретным идентификатором пользователя.Идентификатор пользователя - application_user

yarn application -kill application_ID

1 Ответ

0 голосов
/ 13 ноября 2018

Я могу предложить следующее решение:

  1. Вы можете проанализировать время, когда приложение было запущено из applicationId.(Используйте API curl и Spark rest для создания команды для получения списка приложений и получения правильного идентификатора приложения: https://spark.apache.org/docs/latest/monitoring.html)
    После этого шага у вас будет дата в формате ГГГГММДДЧЧММСС (например, 20181112020100)

  2. Теперь вам нужно получить текущее время, используя команду: date +%Y%m%d%H%M%S

  3. В цикле получите текущее время и сравните его со временем, которое выперейдите к первому шагу - времени запуска приложения и сравните его с текущим временем. Когда разница между временем запуска приложения и текущим временем составит, например, два часа, вы выйдете из цикла и воспользуетесь командой kill: yarn application -kill application_ID

Вот одна из реализаций предложенных шагов: https://community.hortonworks.com/articles/86037/script-to-kill-yarn-application-if-it-is-running-m.html

Надеюсь, это будет полезно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...