Contents

Introduction

Prerequisites

Requirements

Componentes Utilizados

Configurar

Para init.d

Para o sistema

Verificar

Para init.d

Para o sistema

Troubleshoot

Introduction

Este documento descreve como criar arquivos de serviço para init.d ou System para o banco de dados do historiador ParStream.

Prerequisites

Requirements

A Cisco recomenda que você conheça o Linux.

Componentes Utilizados

Este documento não se restringe a versões de software e hardware específicas.

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. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.

Configurar

O pacote de instalação do Edge Fog Processing Module (EFM) não contém arquivos de serviço para init.d ou System out of the box.

Aqui, você pode encontrar um exemplo simples para criar um arquivo de serviço.

Para 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

Assegure-se de ajustar as variáveis de ambiente para corresponder ao ambiente: PARSTREAM_HOME, PARSTREAM_SERVERNAME e PARSTREAM_USER.

Depois de criar o arquivo, verifique se ele está marcado como executável.

Para o sistema

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

Assegure-se de ajustar as variáveis de configuração para corresponder ao seu ambiente: User= e nome do servidor na linha ExecStart.

Após a criação do arquivo de serviço, certifique-se de atualizar os arquivos daemon no systemd:

[root@cen7 ~]# systemctl daemon-reload

Verificar

Use esta seção para confirmar se a sua configuração funciona corretamente.

Para verificar se os scripts/arquivos de serviço funcionam conforme esperado, você pode tentar iniciar e interromper o serviço.

Para 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

Para o sistema

[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

Como você pode ver, os processos ParStream começam sob o usuário definido nos arquivos de serviço e tudo é limpo depois que você solicita para interromper os serviços.

Troubleshoot

Esta seção disponibiliza informações para a solução de problemas de configuração.

Caso tenha problemas ao iniciar, verifique:

- Parâmetros configuráveis no arquivo de serviço init.d ou System (usuário, caminhos, nome de servidor ParStream)

- Verifique a saída do arquivo de log para ParStream (em /var/log/parstream)

- Para SystemD: A saída de systemctl status parstream

- A saída de journal — unit=parstream