Einleitung
In diesem Dokument wird beschrieben, wie Service-Dateien für init.d oder System für die ParStream Historian-Datenbank erstellt werden.
Voraussetzungen
Anforderungen
Cisco empfiehlt, Linux zu kennen.
Verwendete Komponenten
Dieses Dokument ist nicht auf bestimmte Software- und Hardware-Versionen beschränkt.
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Konfigurieren
Das EFM-Installationspaket (Edge Fog Processing Module) enthält keine Service-Dateien für init.d oder System.
Hier finden Sie ein einfaches Beispiel, um eine Service-Datei zu erstellen.
Für init.d
[root@cen7 ~]# cat /etc/init.d/parstream
#!/bin/bash
# parstream init script.
export PARSTREAM_HOME=/opt/cisco/kinetic/parstream/
export LD_LIBRARY_PATH=$PARSTREAM_HOME/lib:$LD_LIBRARY_PATH
PARSTREAM_SERVERNAME="parstream1"
PARSTREAM_USER="EFM"
case "$1" in
'start')
echo "Starting ParStream daemon $PARSTREAM_SERVERNAME as $PARSTREAM_USER"
sleep 2
su -c "cd $PARSTREAM_HOME;$PARSTREAM_HOME/bin/start.sh $PARSTREAM_SERVERNAME" $PARSTREAM_USER
;;
'stop')
echo "Stopping ParStream daemons for user $PARSTREAM_USER"
stopstatus=$(pkill -c -U $PARSTREAM_USER -15 parstream-serv)
echo "$stopstatus processes stopped"
;;
*)
# usage
echo "usage: $0 start|stop"
exit 1
;;
esac
Stellen Sie sicher, dass Sie die Umgebungsvariablen anpassen, damit sie mit Ihrer Umgebung übereinstimmen: PARSTREAM_HOME, PARSTREAM_SERVERNAME und PARSTREAM_USER.
Nachdem Sie die Datei erstellt haben, stellen Sie sicher, dass sie als ausführbar markiert ist.
Für systemd
root@cen7 ~]# cat /etc/systemd/system/parstream.service
[Unit]
Description=ParStream
After=network.target
[Service]
Type=simple
User=EFM
Environment=LD_LIBRARY_PATH=/opt/cisco/kinetic/parstream/lib:$LD_LIBRARY_PATH
WorkingDirectory=/opt/cisco/kinetic/parstream/
ExecStart=/opt/cisco/kinetic/parstream/bin/parstream-server parstream1 --confdir=/opt/cisco/kinetic/parstream/conf/
Restart=on-failure
[Install]
WantedBy=multi-user.target
Stellen Sie sicher, dass Sie die Konfigurationsvariablen anpassen, damit sie mit Ihrer Umgebung übereinstimmen: Benutzer= und Servername in der Zeile ExecStart.
Stellen Sie nach der Erstellung der Dienstdatei sicher, dass Sie die Daemon-Dateien in systemd aktualisieren:
[root@cen7 ~]# systemctl daemon-reload
Überprüfung
Verwenden Sie diesen Abschnitt, um zu überprüfen, ob Ihre Konfiguration ordnungsgemäß funktioniert.
Um zu überprüfen, ob die Skripts/Dienstdatei wie erwartet funktionieren, können Sie versuchen, den Dienst zu starten und zu beenden.
Für init.d
[root@cen7 ~]# /etc/init.d/parstream start
Starting ParStream daemon parstream1 as EFM
Server Process ID: 5056
Output is written to: /var/log/parstream/server-5054-20180423-1648.log
[root@cen7 ~]# ps aux |grep 5056
EFM 5056 0.8 0.7 1235292 27200 ? Sl 16:48 0:00 /opt/cisco/kinetic/parstream//bin/parstream-server parstream1
...
[root@cen7 ~]# /etc/init.d/parstream stop
Stopping ParStream daemons for user EFM
1 processes stopped
Für systemd
[root@cen7 ~]# systemctl start parstream
[root@cen7 ~]# systemctl status parstream
● parstream.service - ParStream
Loaded: loaded (/etc/systemd/system/parstream.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2018-04-23 16:49:30 CEST; 3s ago
Main PID: 5186 (parstream-serve)
CGroup: /system.slice/parstream.service
└─5186 /opt/cisco/kinetic/parstream/bin/parstream-server parstream1 --confdir=/opt/cisco/kinetic/parstream/conf/
Apr 23 16:49:30 cen7 parstream-server[5186]: [2018-04-23T16:49:30]:unknown-000000:PROT-77086: **** PID: 5186 (host: cen7)
Apr 23 16:49:30 cen7 parstream-server[5186]: [2018-04-23T16:49:30]:unknown-000000:PROT-71005: **** config file: "/opt/cisco/kinetic/parstream/conf/parstream.ini"
Apr 23 16:49:30 cen7 parstream-server[5186]: [2018-04-23T16:49:30]:unknown-000000:WARNING-77082: Number of maximum file descriptors (1024) is lower than recommended value 98304
Apr 23 16:49:30 cen7 parstream-server[5186]: [2018-04-23T16:49:30]:unknown-000000:WARNING-77113: Maximum number of mmap'ed areas (65530) is lower than recommended value 1966080.
Apr 23 16:49:30 cen7 parstream-server[5186]: [2018-04-23T16:49:30.273380]:parstream1-164930:PROT-77045: Source Revision: 717e27f507aab73fdc0c3f9d4377ff658726c270
Apr 23 16:49:30 cen7 parstream-server[5186]: Local Changes:
Apr 23 16:49:30 cen7 parstream-server[5186]: [2018-04-23T16:49:30.278632]:parstream1-164930:PROT-77018: cluster node config: ClusterNodeConfig(clusterId = 'localCluster', claimLeadershipInitT...geInterval = 0
Apr 23 16:49:30 cen7 parstream-server[5186]: [2018-04-23T16:49:30.280474]:parstream1-164930:PROT-77018: channel instance created for accept on port: 23460
Apr 23 16:49:30 cen7 parstream-server[5186]: [2018-04-23T16:49:30.281084]:parstream1-164930:PROT-77134: Entering state ClaimLeadershipState, got event InitialEvent
Apr 23 16:49:30 cen7 parstream-server[5186]: [2018-04-23T16:49:30.281243]:parstream1-164930:PROT-77065: Running cluster leader detection (limited until 2018-Apr-23 16:51:30)
Hint: Some lines were ellipsized, use -l to show in full.
[root@cen7 ~]# systemctl stop parstream
Wie Sie sehen können, starten die ParStream-Prozesse unter dem Benutzer, den Sie in den Dienstdateien definiert haben, und alles wird bereinigt, nachdem Sie die Dienste beenden möchten.
Fehlerbehebung
In diesem Abschnitt erhalten Sie Informationen zur Behebung von Fehlern in Ihrer Konfiguration.
Falls beim Starten Probleme auftreten, überprüfen Sie dies:
- Konfigurierbare Parameter in der init.d oder Systemd Service-Datei (User, Pfade, ParStream Servername)
- Überprüfen Sie die Ausgabe der Protokolldatei für ParStream (in /var/log/parstream)
- Für SystemD: Die Ausgabe von systemctl status parstream
- Die Ausgabe von journalctl —unit=parstream