Wie kann ich einen Service ohne Discovery installieren - z. Bsp. Searchservice

Wie kann ich einen Service ohne Discovery installieren - z. Bsp. Searchservice

Um einen weiteren Service auf einem anderen Server zu installieren, kann man einfach den Servicemanager installieren mit der entsprechenden Komponente. Da einige Services nicht doppelt sein dürfen, darauf achten, diese entsprechend zu aktivieren/deaktivieren.

Empfehlung: Admin auch installieren. Der zieht keine Last und man kann die Admin-Seite aufrufen ohne sich Gedanken machen zu müssen, auf welchem Server ein Admin läuft. Die einzelnen Komponenten haben Konfigurationsdateien, die müssen dann an dem Server geprüft und angepasst werden müssen, an dem der Service installiert ist. 

Schritt-für-Schritt-Anleitung - Beispiel Searchservice zieht auf einen neuen Server um

  • Servicemanager-Setup aufrufen und die gewünschten Komponenten auswählen auf dem neuen Server. Bitte explizit mit "als Administrator ausführen"!

    1. normalerweise genügt die Auswahl des/der gewünschten Services.
      Empfehlung: Admin auch installieren. Leider kann man nur das Paket "admin, discovery, messaging" auswählen und muss im Nachgang die nicht benötigten Komponenten deaktivieren. 

  • Nach der Installation servicewatcher-sw.yml anpassen

    1. alle Services, die nicht benötigt/gewollt sind (= discovery, messaging) deaktivieren
      Bitte nur den Parameter "instances:" anpassen und von 1 auf 0 stellen. 

    2. Adminservice und Searchservice sollten je auf 1 stehen 

  • Windows-Diensteverwaltung prüfen und anpassen. Es sollte ein Dienstbenutzer eingetragen werden, nicht “lokales System“.

  • Wenn es um einen Umzug des Searchservices geht, dann beim bisherigen Server den Searchservice deaktivieren.

    • Sichern der Konfiguration (am besten das config-Verzeichnis kopieren)

    • In der servicewatcher-sw.yml die instance auf 0 stellen und speichern.
      Beispiel:

      image-20251121-132652.png
  1. Bei allen Servicemanagern die application-cloud.yml und die servicewatcher-sw.yml anpassen.

    1. Parameter "defaultZone" darf nur die IP-Adressen der Server enthalten, bei denen eine Discovery läuft (mehrere Einträge sind mit Komma getrennt)

    2. Außerdem muss dieser Eintrag in die servicewatcher-sw.yml kopiert werden. Es genügen die Zeilen "eureka:", "client:", "service-url:" und "defaultZone:"

    3. Alle Servicemanager einmal neu starten. Empfehlung: vor dem Dienststart die Protokolle löschen.

  1. Es ist ratsam das services.log jedes Servicemanagers zu prüfen, ob auch die Konfigurationsdateien gelesen werden konnten und die Komponenten geladen werden. 

  2. Abschließender Test: http://<ein servicemanager-server mit admin>:7273 
    Es sollte nun 2x Admin geben und 2x Argus. Außerdem sollten alle Services zu sehen sein, egal auf welchem Servicemanager sie installiert sind. Wenn man die Komponenten anklickt, werden zusätzlich die Server angezeigt, auf denen sie liegen. Beispiel enaio 11.10:

    image-20251121-124054.png
  • Bitte die services.logs prüfen. Hier gibt es normalerweise entsprechende Hinweise.

  • Häufige Ursachen:

    • Konfiguration ist nicht lesbar. Meist ist es ein Sonderzeichen, ein Zeichen zu viel oder zu wenig oder der Zeilenumbruch am Ende fehlt.

    • Anmeldung am enaio Server funktioniert

    • Ports sind nicht freigegeben

  • Sollte der Searchservice den Indexservice nicht finden und/oder nicht den ElasticSearch, dann die application-es.yml von dem Servicemanager prüfen, der den Indexservice hat.
    Sollte hier "localhost" oder "127.0.0.1" konfiguriert sein, dann bitte alle application-es.yml anpassen und die IP-Adresse des ElasticSearch eintragen. Der Service muss natürlich erreichbar sein, z. Bsp. http://10.10.77.145:8041/_cat/shards?v 

    Danach den Indexservice und den Searchservice neu laden oder gleich beide Servicemanager neu starten.
    Sollte das nicht helfen, dann die application-es.yml kopieren, auf den Server mit dem neuen searchservice. Den Servicemanager mit Searchservice neu starten.

  • Für den Searchservice außerdem den Enterprisemanager anpassen: 

    1. Seite "Services": URL zum OSFTS umstellen auf den frisch installieren Searchservice 

    2. Seite "Volltext": URLs bwz. Server für Autocomplete auf den frisch installieren Searchservice umstellen:
      Beispiel ab enaio 10.10: URL anpassen

      image-20251121-133814.png


      Beispiel bis enaio 10.00: Server anpassen

  • Danach den enaio Dienst neu starten (falls das nicht möglich sein sollte: mindestens VTX-Engine neu laden) und die Clients neu starten.
    Anleitung siehe “über den enaio Enterprisemanager:“ Punkt 3+4:  Engines neu laden

 

Nun sollten die Anfragen über den neuen Searchservice laufen. Kontrollieren kann man dies im services.log des neuen Servicemanagers. Hier sollten die Volltextanfragen ankommen. 

 

Empfehlung: Admin immer installieren. Der zieht keine Last und man kann die Admin-Seite aufrufen. 

 

Verwandte Artikel