2016-02-26 5 views
0

Я занимаюсь созданием пользовательского приложения внутри нашей установки Ambari. После небольшого разговора я успешно настроил это для выполнения действий по установке и запуску с созданием соответствующего журнала создания \ вывода и создания pid. Часть, с которой я сейчас сталкиваюсь, - это то, что Ambari поддерживает статус этого недавно установленного приложения. После выполнения некоторых инструкций здесь: http://mozartanalytics.com/how-to-create-a-software-stack-for-ambari/ (в частности, раздел «Статус компонента»), я смог добиться определенного прогресса - однако это не совсем то, что я хочу.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? Любая помощь или указание в правильном направлении будут оценены.

FYI. Это Ambari 2.1 работает на Centos 6.7

ответ

0

В последнее время я решил аналогичную проблему. И решение состоит в том, чтобы поместить в файл строку "{" securityState ":" UNKNOWN "}" /var/lib/ambari-agent/data/structured-out-status.json. Способ поиска этого решения - просмотр журнала ambari-agent: PythonExecutor.py:149 - {'msg::' Невозможно прочитать структурированный вывод из/var/lib/ambari-agent/data/structured-out-status. JSON '}. Надеюсь, это поможет.

0

Возможно, это ваша проблема с параметрами.

 
    def status(self, env): 
     import params 
     print 'Checking status of pid file' 
     pid_path = params.pid 
     check=format("{pid_path}/Application.pid") 
     check_process_status(check)