странное поведение start-stop-daemon

Я создаю ящик для поддонов для elasticsearch. Я застрял в службе, не запустившись, однако после просмотра журналов кажется, что на самом деле это не имеет ничего общего с поддоном. Я использую пакет elasticsearch apt для версии 1.0, который включает в себя сценарий инициализации. Если я запускаю sudo service elasticsearch start, то ES запускается без проблем. Если поддон делает это для меня, то он записывает стандартный выход как успешный запуск

start elasticsearch
 * Starting Elasticsearch Server
   ...done.

Однако он не запускается.

sudo service elasticsearch status
 * elasticsearch is not running

Я возился со сценарием инициализации и обнаружил, что если я добавлю sleep 1 после запуска демона, то он будет правильно работать с поддоном.

start-stop-daemon --start -b --user "$ES_USER" -c "$ES_USER" --pidfile "$PID_FILE" --exec $DAEMON -- $DAEMON_OPTS
#this sleep will allow it to work
#sleep 1
log_end_msg $?

Я не понимаю, что происходит?


person shmish111    schedule 24.08.2014    source источник
comment
У меня такая же проблема, и я не смог ее решить, даже с командой сна. Но когда я запускаю демон напрямую с параметрами, он работает. Это так странно.   -  person felipeclopes    schedule 27.01.2015


Ответы (1)


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

Для таких вещей вы должны использовать встроенный код Pallet для запуска вещей под наблюдением. Это также имеет то преимущество, что очень легко переключиться с простого init.d на runit или daemontools позже, что особенно полезно для Elasticsearch, потому что это процесс JVM, и почти любая JVM в конечном итоге выйдет из строя, если вы позволите ей работать достаточно долго.

person G Gordon Worley III    schedule 25.08.2014
comment
Круто, не могли бы вы дать мне несколько советов о том, как я использую надзор, я изо всех сил пытаюсь найти документацию для этого типа вещей для поддонов. - person shmish111; 26.08.2014