2013-07-15 1 views
2

Я пытаюсь запустить процесс под наблюдением Супервизора (http://supervisord.org/).Запуск процесса под наблюдением с использованием диспетчера

У меня есть две среды, работающие почти в той же среде (Ubuntu 12.04 LTS).

Текущая проблема заключается в том, что процесс, который я пытался запустить под Supervisor, может работать отлично под одним сервером, но не с другим.

На неудавшемся сервере я попытался запустить тот же процесс без Supervisor. Все в порядке. Есть идеи? Благодарю.

Вот STDERR обеспечивается Руководитель:

Traceback (most recent call last): 
File "/usr/storm-0.8.1/bin/storm", line 402, in <module> 
    main() 
File "/usr/storm-0.8.1/bin/storm", line 399, in main 
    (COMMANDS.get(COMMAND, "help"))(*ARGS) 
File "/usr/storm-0.8.1/bin/storm", line 263, in supervisor 
    jvmopts = parse_args(confvalue("supervisor.childopts", cppaths)) + [ 
File "/usr/storm-0.8.1/bin/storm", line 58, in confvalue 
    p = sub.Popen(command, stdout=sub.PIPE) 
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__ 
    errread, errwrite) 
File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child 
    raise child_exception 
OSError: [Errno 2] No such file or directory 

Я дважды проверил subprocess.py и его разрешение, и это выглядит так же, как успешный сервер.

Хотел бы я предоставить дополнительную информацию, но это все, что у меня есть. Может быть, кто-то может предложить мне, с чего начать?

ответ

3

Я получил эту точную проблему при попытке запустить Storm, потому что java не был на моем PATH. Я должен был

export JAVA_HOME=... # specify your own path here 
export PATH=$PATH:$JAVA_HOME/bin # allows for finding the java executable 

поэтому я предполагаю, что это Java и не питон (или модуль питона), что ваш вопрос.

Чтобы понять это, я действительно вошел и добавил некоторые отладочные операторы печати сценарию storm.py, чтобы я мог видеть, какую команду он пытался выполнить в качестве подпроцесса. Когда я попытался запустить ту же самую команду (которая была довольно большой, из-за того, что путь класса java указан как аргумент) через скрипт оболочки, он не смог найти Java.

'Надеюсь, это поможет.

1

Если вы уже установили свой путь Java и по-прежнему получаете эту ошибку, вы можете попробовать это.

  1. Открыть файл storm_env.ini в папке бури conf. Найти строку, которая настраивает альтернативный JAVAHOME , если вы впервые в сети, это будет выглядеть так:

    # Использование Java для использования. Если JAVA_HOME не найден, мы ожидаем, ява быть в пути #JAVA_HOME: дом
  2. обновить его с JAVAHOME

    ех (это, как он выглядит в моем файле.):

    реализации Java #The использовать , Если JAVA_HOME не найден, мы ожидаем, Java, чтобы быть в пути

    JAVA_HOME:/USR/Lib// Java-8-оракул

  3. Сохранить изменения и закрыть JVM редактор.

  4. Открыть новый терминал и попробуйте еще раз