المحتويات

المقدمة

المتطلبات الأساسية

المتطلبات

المكونات المستخدمة

التكوين

ل init.d

ل SystemD

التحقق من الصحة

ل init.d

ل SystemD

استكشاف الأخطاء وإصلاحها

المقدمة

يوضح هذا المستند كيفية إنشاء ملفات خدمة ل init.d أو System لقاعدة بيانات مؤرخ ParStream.

المتطلبات الأساسية

المتطلبات

توصي Cisco بأن تكون لديك معرفة بنظام التشغيل Linux.

المكونات المستخدمة

لا يقتصر هذا المستند على إصدارات برامج ومكونات مادية معينة.

تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.

التكوين

لا تحتوي حزمة تثبيت وحدة معالجة Edge Fog (EFM) على ملفات خدمة ل init.d أو SystemD خارج المربع.

هنا، يمكنك العثور على مثال بسيط لإنشاء ملف خدمة.

ل 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

تأكد من ضبط متغيرات البيئة لمطابقة بيئتك: PARSTREAM_HOME وPARSTREAM_SERVERNAME وPARSTREAM_USER.

بعد إنشاء الملف، تأكد من أنه قابل للتنفيذ.

ل 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

تأكد من ضبط متغيرات التكوين لمطابقة بيئتك: User= و serviceName على سطر ExecStart.

بعد إنشاء ملف الخدمة، تأكد من أنك قمت بتحديث ملفات برنامج المساعدة في النظام:

[root@cen7 ~]# systemctl daemon-reload

التحقق من الصحة

استخدم هذا القسم لتأكيد عمل التكوين بشكل صحيح.

للتحقق من عمل ملف البرامج النصية/الخدمة كما هو متوقع، يمكنك محاولة بدء الخدمة وإيقافها.

ل 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

ل 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

كما ترى، تبدأ عمليات ParStream ضمن المستخدم الذي قمت بتعريفه في ملفات الخدمة ويتم تنظيف كل شيء بعد أن تطلب إيقاف الخدمات.

استكشاف الأخطاء وإصلاحها

يوفر هذا القسم معلومات يمكنك إستخدامها لاستكشاف أخطاء التكوين وإصلاحها.

في حالة حدوث مشاكل أثناء البدء، تحقق من هذا:

- المعلمات القابلة للتكوين في ملف خدمة init.d أو SystemD (المستخدم والمسارات وخادم ParStream)

- فحصت الإنتاج من ال logFile ل ParStream (in /var/log/parstream)

- ل SystemD: إخراج شريط حالة النظام

- إخراج JournalCtl — unit=parstream