Я играл с созданием пользовательского приложения внутри нашей установки Ambari. Немного поигравшись, я успешно настроил это для выполнения действий по установке и запуску с соответствующим созданием\выводом журнала и созданием pid. Часть, с которой я сейчас борюсь, заключается в том, что Ambari поддерживает статус этого недавно установленного приложения. После выполнения некоторых инструкций здесь: http://mozartanalytics.com/how-to-create-a-software-stack-for-ambari/ (в частности, раздел «Статус компонента»), я смог добиться некоторого прогресса, однако это не совсем то, что мне нужно.
При включении следующего в master.py Ambari увидит службу как активную на мгновение после первоначального запуска, но затем приложение будет отображаться красным (автономно). Он помечает его как автономный, хотя, когда я проверяю сервер, я вижу, что соответствующий процесс запущен.
def status(self, env):
import params
print 'Checking status of pid file'
check=format("{params.pid}/Application.pid")
check_process_status(check)
Однако, когда я изменяю его, чтобы он выглядел следующим образом, Ambari без проблем отслеживает статус и отслеживает его соответствующим образом.
def status(self, env):
import params
print 'Checking status of pid file'
dummy_master_pid_file = "/var/run/Application/Application.pid"
check_process_status(dummy_master_pid_file)
Кто-нибудь еще сталкивался с этой проблемой? Есть ли что-то, чего мне не хватает при создании этого пользовательского приложения внутри Ambari? Любая помощь или указание в правильном направлении будут оценены.
к вашему сведению. Это Ambari 2.1, работающий на Centos 6.7.