2017-06-08 4 views
0

Ich möchte zu schreiben, so schreibe ich eine systemd Service-Datei für Kiste: ist 1.1.2wie eine systemd Service-Datei für Kiste mit dem Red Hat setzen Kiste Boot

folgende Kiste:

Kiste Version. Service:

[Unit] 
Description=crate daemon 
After=network.target 
[Service] 
Type=forking 
ExecStart=/usr/bin/su - hadmin -c '/home/hadmin/aisinofp/crate/bin/crate.sh start' 
ExecStop=/usr/bin/su - hadmin -c '/home/hadmin/aisinofp/crate/bin/crate.sh stop' 
Restart=always 
[Install] 
WantedBy=multi-user.target 

die crate.sh ist:

#!/bin/bash 

source /home/hadmin/myproject/conf/env.sh 
if [ "$1" = "start" ] 
then 
$CRATE_HOME/bin/crate -d 
elif [ "$1" = "stop" ] 
then 
pid=$(ps -ef|grep io.crate.bootstrap.CrateDB |grep jar |awk '{print $2}') 
echo "KILLING cratedb PROCESS "$pid 
kill -9 $pid 
fi 

die env.sh ist:

#!/bin/bash 

# set ulimit 
#ulimit -n 655360 

export JAVA_HOME=/usr/java/default 
export JRE_HOME=/usr/java/default 
PATH=$JAVA_HOME/bin:$PATH 

# environment for all Projects 
export TD_BASE=/home/hadmin 
export TD_HOME=$TD_BASE/myproject 
export TD_DATA=$TD_BASE/data 

# zookeeper environment 
export ZOO_HOME=$TD_BASE/zookeeper 
export ZOO_LOG_DIR=$ZOO_HOME/logs 
PATH=$ZOO_HOME/bin:$PATH 

# cratedb environment 
export CRATE_HEAP_SIZE=4g 
export CRATE_HOME=/home/hadmin/crate 
PATH=$CRATE_HOME/bin:$PATH 

# activemq environment 
export activemq_data=/home/hadmin/data/activemq 
export activemq_base=/home/hadmin/activemq 
export activemq_conf=$activemq_base/conf 
PATH=$activemq_base/bin:$PATH 

export PATH 

wenn ich diese Dateien fertig zu schreiben, beginne ich „systemctl starten crate.service“, aber ich habe Nachrichten wie diese in/var/log/Nachricht mit: enter image description here

Ich kann sehen, dass die Kiste Dämon hat die ganze Zeit zu sein Neustart, ich weiß nicht, warum es nach dem Start getötet würde

dank

+0

Zwei Config zu ändern: 1. Modifizieren Typ = Forking to Type = simple; 2. Ändern Sie in crate.sh $ CRATE_HOME/bin/crate, löschen Sie die Option "-d", denn wenn "-d" das Systemctl denkt, dass der Daemon nicht gestartet wurde und ständig neu startet, bedeutet "-d" Start im Hintergrund – MayI

Antwort

1

Crate bietet bereits ein offizielles RPM-Paket für Red hat Linux, die systemd verwendet. Sie müssen keine eigene Servicedatei schreiben.

Siehe Dokumentation: https://crate.io/docs/install/local/linux/#red-hat

+0

Vielen Dank für Ihren Vorschlag, ich installiere Kiste, nachdem ich die crate.service Datei überprüft habe, merke ich, welche Config ich vermisse, ich repariere es und starte es in meiner eigenen Kiste Konfigurationsdatei, hier ist meine Kiste. Service: – MayI

+0

[Unit] Beschreibung = CrateDB Daemon Nach = network.target [Service] Type = einfache User = hadmin Group = hadmin ExecStart =/home/hadmin/myproject/Kiste/bin/crate.sh start ExecStop =/home/hadmin/meinprojekt/kiste/bin/crate.sh stop StandardOutput = Journal Standarderror = journal TimeoutStopSec = 20 LimitMEMLOCK = unendlich LimitNOFILE = 65536 Restart = immer [Install] WantedBy = multi-user.target – MayI

Verwandte Themen