Как проверить, работают ли сервисы cloudera, такие как hive, Impala, через код Java?

Я хочу выполнить несколько запросов куста, а затем мне нужно собрать различные метрики, такие как чтение/запись байтов hdfs. Для этого я написал java-код. Но перед запуском кода я просто хочу проверить, работают ли сервисы Cloudera, такие как hive, impala, yarn или нет. Если он запущен, код необходимо выполнить, иначе просто выйдите. Есть ли способ проверить статус сервисов по java-коду?


person Vidhi Rathore    schedule 19.05.2016    source источник
comment
RTFM, в данном случае Cloudera Manager REST API cloudera.github.io/cm_api /apidocs/v12/services-serviceName-.html   -  person Samson Scharfrichter    schedule 19.05.2016
comment
@ Самсон... Я не понял... Можете привести пример?   -  person Vidhi Rathore    schedule 19.05.2016
comment
Видхи, я не понимаю, это не очень хороший вопрос. Будьте конкретны и прочитайте Как спросить.   -  person jbapple    schedule 20.05.2016


Ответы (1)


Sampson S дал вам правильный ответ, но реализовать его непросто. Информация доступна через REST API инструментов Cloudera Manager (CM), предлагаемых Cloudera. Ваша Java-программа должна сделать веб-запрос GET к CM, проанализировать результат JSON и использовать его для принятия решения. Кроме того, вы можете посмотреть код их API, чтобы сделать более прямой запрос.

Но я думаю, вы должны спросить "Почему?" Что вы пытаетесь достичь? Воспроизводите ли вы функциональность, уже предоставленную CM? Задавая вопросы здесь, на SO, всегда полезно предоставить некоторый контекст. Похоже, вы можете быть новичком в окружающей среде. Возможно, он уже делает то, что вы хотите.

person Tom Harrison    schedule 21.05.2016