Services - Windows Systeme
Im Folgenden wird beschrieben, wie OpenSearch und Karaf als Windows Dienst eingerichtet werden.
OpenSearch
Um OpenSearch als Windows-Dienst einzurichten, wird shawl [1] als Service Wrapper verwendet.
Dies stellt sicher, dass Anpassungen in der zentralen Konfigurationsdatei aktiv sind.
Die shawl-Binary befindet sich unter <BPC-INSTALL-DIR>\bin\shawl.exe, wenn BPC über die Bundle-Datei installiert wurde.
Windows-Dienst installieren
Der folgende Befehl installiert OpenSearch als Dienst mit dem Namen OpenSearchBpc.
<BPC-INSTALL-DIR>\bin\shawl.exe add --name OpenSearchBpc --restart-delay 5000 --stop-timeout 300000 --pass 0,130 --path "<BPC-INSTALL-DIR>\opensearch" -- cmd.exe /c "<BPC-INSTALL-DIR>\opensearch\bin\opensearch.bat < NUL"
Der Befehl konfiguriert den Dienst so, dass OpenSearch bei Dienststopp 5 Minuten erhält zum Stoppen.
Sollte eine längere Zeit notwendig sein, kann dies mit --stop-timeout in Millisekunden konfiguriert werden.
Karaf
Im Karaf Directory <BPC-INSTALL-DIR>\karaf\bin\contrib befinden sich die Dateien karaf-service-win.exe und karaf-service-win.xml.
Über die Datei karaf-service-win.exe können Sie den Service installieren, deinstallieren, starten und stoppen.
In karaf-service-win.xml müssen Sie die Platzhalter für den Service anpassen.
Ersetzen Sie folgende Platzhalter:
-
%KARAF_SERVICE_NAME%- Name des Dienstes unter Windows. Beispiel: "Karaf" -
%KARAF_SERVICE_PATH%- Basispfad der Karaf Installation. Beispiel: "C:\BPC\karaf" -
%KARAF_SERVICE_EXECUTABLE%- Name der Datei, im Verzeichnisbin, mit der Karaf gestartet wird. Beispiel: "karaf.bat"
Alternativ können Sie die Platzhalter beibehalten. In dem Fall setzen Sie für das System oder den Betriebssystem-Nutzer, der den Karaf-Service starten soll, diese Umgebungsvariablen:
KARAF_SERVICE_NAME=Karaf
KARAF_SERVICE_PATH=C:\BPC\karaf
KARAF_SERVICE_EXECUTABLE=karaf.bat
karaf-service-win.xml mit Platzhaltern für Umgebungsvariablen<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<service>
<!--
This script is provided as a template you can quickly customize by replacing
the following variables:
KARAF_SERVICE_NAME
KARAF_SERVICE_PATH
KARAF_SERVICE_EXECUTABLE
For a detailed overview of the configuration options, please visit winsw home
page (https://github.com/kohsuke/winsw)
-->
<!-- Required. Has to be unique among all the services installed in a system. Should consist entirely out of alpha-numeric characters. -->
<id>%KARAF_SERVICE_NAME%</id>
<!-- Optional. Has to be unique among all the services installed in a system. Short display name of the service, which can contain spaces and other characters. -->
<name>%KARAF_SERVICE_NAME%</name>
<!-- Optional. Long human-readable description of the service. -->
<description>Apache Karaf Service mit ID "%KARAF_SERVICE_NAME%" für BPC</description>
<!-- start -->
<executable>%KARAF_SERVICE_PATH%\bin\contrib\%KARAF_SERVICE_EXECUTABLE%</executable>
<startargument>daemon</startargument>
<!-- stop -->
<stopexecutable>%KARAF_SERVICE_PATH%\bin\contrib\%KARAF_SERVICE_EXECUTABLE%</stopexecutable>
<stopargument>stop</stopargument>
<stoptimeout>10sec</stoptimeout>
<!-- log into the same directory as karaf. Size is in kbyte. -->
<logpath>%KARAF_SERVICE_PATH%\data\log</logpath>
<log mode="roll-by-size">
<sizeThreshold>2048</sizeThreshold>
<keepFiles>3</keepFiles>
</log>
</service>
Windows-Dienst installieren
Mit folgendem Befehl wird der Service in Windows installiert. Anschließend kann er über die Windows-Dienste-Oberfläche gestartet und gestoppt werden.
|
Dieses Kommando erfordert üblicherweise ein Administrationskonto. Danach sollte für den Dienst-Start ein Dienst-User mit eingeschränkten Rechten angelegt werden. |
<BPC-INSTALL-DIR>\karaf\bin\contrib\karaf-service-win.exe install
Weitere mögliche Operationen sind:
-
uninstall
-
stop
-
start
-
status
-
restart
Falls im Abschnitt Karaf die Umgebungsvariablen für den Betriebssystem-User und nicht systemweit gesetzt wurden, muss hier mit dem Betriebssystem-User ausgeführt werden. Da diesem wahrscheinlich die nötigen Rechte fehlen, müssen im jeweiligen Eingabeaufforderungs-Fenster die oben genannten Umgebungsvariablen temporär auch noch einmal gesetzt werden.
<BPC-INSTALL-DIR>\karaf\bin\contrib\karaf-service-win.exe start
Für mehr Informationen siehe Apache Karaf Container Documentation - Windows.
