2016-07-28 38 views
5

Ich versuche, OrientDB als Dämon (aktiviert beim Start) auf Ubuntu 16.04 LTS laufen zu lassen. Das Problem ist, Systemd scheint sofort zu stoppen, nachdem ich sage, es zu starten. Ich habe diese systemd Service-Datei genau wie in der Orientdb Dokumentation empfohlen:Systemd stoppt OrientDB sofort nach dem Start auf Ubuntu 16.04

[Unit] 
Description=OrientDB Server 
After=network.target 
After=syslog.target 

[Install] 
WantedBy=multi-user.target 

[Service] 
Type=forking 
ExecStart=$ORIENTDB_HOME/bin/orientdb.sh start 
ExecStop=$ORIENTDB_HOME/bin/orientdb.sh stop 
ExecStatus=$ORIENTDB_HOME/bin/orientdb.sh status 

orientdb.log:

  .           
      .`  `         
      ,  `:.         
     `,` ,:`         
     .,. :,,          
     .,, ,,,          
    . .,.::::: ````         :::::::::  ::::::::: 
    ,` .::,,,,::.,,,,,,`;;      .: :::::::::: ::: ::: 
    `,. ::,,,,,,,:.,,.` `      .: :::  ::: :::  ::: 
    ,,:,:,,,,,,,,::. `  `   ``  .: :::  ::: :::  ::: 
     ,,:.,,,,,,,,,: `::, ,, ::,::` : :,::` :::: :::  ::: ::: ::: 
     ,:,,,,,,,,,,::,: ,, :. : :: : .: :::  ::: :::::::  
     :,,,,,,,,,,:,:: ,, :  : :  : .: :::  ::: ::::::::: 
    `  :,,,,,,,,,,:,::, ,, .:::::::: :  : .: :::  ::: :::  ::: 
    `,...,,:,,,,,,,,,: .:,. ,, ,,   :  : .: :::  ::: :::  ::: 
    .,,,,::,,,,,,,: `: , ,, :  ` :  : .: :::  ::: :::  ::: 
     ...,::,,,,::.. `: .,, :, : :  : .: ::::::::::: :::  ::: 
      ,::::,,,. `: ,, ::::: :  : .: :::::::::  :::::::::: 
      ,,:` `,,.         
      ,,, .,`         
     ,,.  `,           GRAPH DATABASE 
     ``  `.               
       ``           orientdb.com 
       `          
pid file detected, killing process 

syslog:

Jul 28 18:56:34 ubuntu systemd[1]: Starting OrientDB Server... 
Jul 28 18:56:34 ubuntu orientdb.sh[17487]: Starting OrientDB server daemon... 
Jul 28 18:56:34 ubuntu systemd[1]: Created slice User Slice of orientdb. 
Jul 28 18:56:34 ubuntu systemd[1]: Starting User Manager for UID 999... 
Jul 28 18:56:34 ubuntu systemd[1]: Started Session c5 of user orientdb. 
Jul 28 18:56:34 ubuntu systemd[17497]: Reached target Timers. 
Jul 28 18:56:34 ubuntu systemd[17497]: Reached target Paths. 
Jul 28 18:56:34 ubuntu systemd[17497]: Reached target Sockets. 
Jul 28 18:56:34 ubuntu systemd[17497]: Reached target Basic System. 
Jul 28 18:56:34 ubuntu systemd[17497]: Reached target Default. 
Jul 28 18:56:34 ubuntu systemd[17497]: Startup finished in 23ms. 
Jul 28 18:56:34 ubuntu systemd[1]: Started User Manager for UID 999. 
Jul 28 18:56:34 ubuntu orientdb.sh[17508]: Stopping OrientDB server daemon... 
Jul 28 18:56:34 ubuntu systemd[1]: Started Session c6 of user orientdb. 
Jul 28 18:56:34 ubuntu systemd[1]: Started OrientDB Server. 
Jul 28 18:56:34 ubuntu systemd[1]: Stopping User Manager for UID 999... 
Jul 28 18:56:34 ubuntu systemd[17497]: Reached target Shutdown. 
Jul 28 18:56:34 ubuntu systemd[17497]: Starting Exit the Session... 
Jul 28 18:56:34 ubuntu systemd[17497]: Stopped target Default. 
Jul 28 18:56:34 ubuntu systemd[17497]: Stopped target Basic System. 
Jul 28 18:56:34 ubuntu systemd[17497]: Stopped target Timers. 
Jul 28 18:56:34 ubuntu systemd[17497]: Stopped target Paths. 
Jul 28 18:56:34 ubuntu systemd[17497]: Stopped target Sockets. 
Jul 28 18:56:34 ubuntu systemd[17497]: Received SIGRTMIN+24 from PID 17536 (kill). 
Jul 28 18:56:34 ubuntu systemd[1]: Stopped User Manager for UID 999. 
Jul 28 18:56:34 ubuntu systemd[1]: Removed slice User Slice of orientdb. 

Irgendwelche Ideen?

+0

Haben Sie die Anleitung unter diesem Link (http://orientdb.com/docs/2.1/Unix-Service.html) befolgt? .. – lsavio

+0

Ja, das ist das Problem. Ich folgte der Dokumentation (siehe oben) und es funktioniert nicht :). – austinsmorris

+0

ok, könnten Sie bitte ein Problem auf Github öffnen? .. danke. – lsavio

Antwort

0

Solange Sie benutzerdefinierte Init-Skripte (orientdb.sh , server.sh, shutdown.sh) in einer Systemdiensteinheit umschließen, werden Sie seltsame und schwer zu debuggende Probleme haben.

Stattdessen sollten Sie diese Skripts lesen, verstehen, wie OrientDB gestartet wird und nur das reproduzieren, was in einer Serviceeinheit erforderlich ist.

0

ich einen Benutzer & Gruppe Orientdb dem System hinzugefügt haben und unter systemd Skript verwendet (unter der Annahme Orientdb in /opt installiert ist/Orientdb):

[Unit] 
Description=OrientDB Server 
After=network.target 
After=syslog.target 

[Install] 
WantedBy=multi-user.target 

[Service] 
User=orientdb 
Group=orientdb 
ExecStart=/opt/orientdb/bin/server.sh 
ExecStop=/opt/orientdb/bin/shutdown.sh 
ExecReload=/bin/kill -HUP $MAINPID 
0

Wenn Sie den Server laufen und Schließen Sie das Fenster, der Server wird geschlossen. Verwenden Sie es mit NOHUP (server.sh) und wenn Sie das Fenster schließen, wird es weiter ausgeführt.

Ich hatte das gleiche Problem, viel Glück

0

ich das gleiche Problem mit OpenSuse Leap 42.1 und Orientdb 2.2.7 hatte. Robertos Antwort löste es. Siehe the issue on GitHub.