Introduction
Ce document décrit comment créer des fichiers de service pour init.d ou Systemd pour la base de données historique ParStream.
Conditions préalables
Exigences
Cisco vous recommande d'avoir des connaissances sur Linux.
Composants utilisés
Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Configurer
Le package d'installation d'EFM (Edge Fog Processing Module) ne contient pas de fichiers de service pour init.d ou System prêts à l'emploi.
Vous trouverez ici un exemple simple pour créer un fichier de service.
Pour 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
Assurez-vous que vous ajustez les variables d'environnement afin de correspondre à votre environnement : PARSTREAM_HOME, PARSTREAM_SERVERNAME et PARSTREAM_USER.
Après avoir créé le fichier, assurez-vous qu'il est marqué comme exécutable.
Pour le système
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
Veillez à ajuster les variables de configuration afin de les faire correspondre à votre environnement : User= et servername sur la ligne ExecStart.
Après la création du fichier de service, assurez-vous que vous mettez à jour les fichiers démon dans systemd :
[root@cen7 ~]# systemctl daemon-reload
Vérifier
Utilisez cette section pour confirmer que votre configuration fonctionne correctement.
Afin de vérifier si les scripts/fichiers de service fonctionnent comme prévu, vous pouvez essayer de démarrer et d'arrêter le service.
Pour 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
Pour le système
[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
Comme vous pouvez le voir, les processus ParStream démarrent sous l'utilisateur que vous avez défini dans les fichiers de service et tout est nettoyé après que vous avez demandé à arrêter les services.
Dépannage
Cette section fournit des informations que vous pouvez utiliser pour dépanner votre configuration.
Si vous rencontrez des problèmes lors du démarrage, vérifiez les points suivants :
- Paramètres configurables dans le fichier de service init.d ou System (utilisateur, chemins, nom du serveur ParStream)
- Vérifiez le résultat du fichier journal pour ParStream (dans /var/log/parstream)
- Pour SystemD : la sortie de systemctl status parstream
- Le résultat de journalctl —unit=parstream