This is an old revision of the document!
Service Layer Konfiguration
Damit COBI.time stabil und performant läuft, muss das Service Layer ordentlich konfiguriert sein.
Leider ist die standardmäßig ausgelieferte Service Layer Konfiguration von SAP mangelhaft.
Konfiguration
Die Konfiguration muss als root direkt auf dem HANA Server geändert werden.
Zuerst sollte das Service Layer mit dem Befehl
`systemctl stop b1s`
gestoppt werden.
Danach in das Verzeichnis `/usr/sap/SAPBusinessOne/ServiceLayer/conf` navigieren und sämtliche Node Member Konfiguration entfernen bis auf eine einzelne Node Konfiguration `httpd-b1s-lb-member-50001.conf`:
-rw-r--r-- 1 biservice0 biservice0 301 Jan 7 20:39 ServiceLayer.xml -rw-r--r-- 1 biservice0 biservice0 1236 Sep 25 12:16 b1s.conf -rw-r--r-- 1 biservice0 biservice0 477 Apr 10 12:02 b1s-ssl.conf -rw-r--r-- 1 biservice0 biservice0 610 Apr 10 12:02 b1s-ssl.xml -rw-r--r-- 1 biservice0 biservice0 1024 Apr 10 12:02 b1s-ssl.qs -rw-r--r-- 1 biservice0 biservice0 902 Sep 25 20:23 b1s.qs -rw-r--r-- 1 biservice0 biservice0 316 Apr 10 12:02 b1s.qs.xml -rw-r--r-- 1 biservice0 biservice0 160 Apr 10 12:02 b1s_sqltable.template.conf -rw-r--r-- 1 biservice0 biservice0 1423 Sep 25 20:23 httpd-b1s-lb.conf -rw-r--r-- 1 biservice0 biservice0 235 Sep 25 20:23 httpd-b1s-lb-member-50001.conf -rw-r--r-- 1 biservice0 biservice0 247 Sep 25 20:23 httpd-b1s-lb-member-common.conf -rw-r--r-- 1 biservice0 biservice0 1455 Sep 25 20:23 server.pem -rw-r--r-- 1 biservice0 biservice0 1845 Sep 25 20:23 server.key
Die Datei `httpd-b1s-lb.conf` editieren und sämtliche Balancer Member aus dem Proxy balancer entfernen, sodass nur noch eine Node im Proxy balancer angegeben ist:
<Proxy balancer://myCluster> BalancerMember http://localhost:50001/b1s route=node1 ProxySet stickysession=ROUTEID </Proxy>
Außerdem prüfen, ob es unter der RewriteEngine noch Rewrite Rules eventuell gibt. Die Rewrite Rules könnten auf alte Nodes zeigen. Der Log Eintrag sieht vermutlich so aus:
RewriteEngine on RewriteRule "^/ping/node0$" "/b1s/ping/node?ROUTEID=.node0&target=localhost:50001" [PT] RewriteRule "^/ping/node1$" "/b1s/ping/node?ROUTEID=.node1&target=localhost:50001" [PT] RewriteRule "^/ping/node2$" "/b1s/ping/node?ROUTEID=.node2&target=localhost:50002" [PT] RewriteRule "^/ping/node3$" "/b1s/ping/node?ROUTEID=.node3&target=localhost:50003" [PT] RewriteRule "^/ping/node4$" "/b1s/ping/node?ROUTEID=.node4&target=localhost:50004" [PT] RewriteRule "^/ping/node/(.*)$" "/b1s/ping/load-balancer?ROUTEID=.node$1" [PT]
Diesen Block muss man hiermit ersetzen:
RewriteEngine on RewriteRule "^/ping/node$" "/b1s/ping/node?ROUTEID=.node1&bouncecount=1" [PT] RewriteRule "^/ping/node/(.*)$" "/b1s/ping/load-balancer?ROUTEID=.node1" [PT] RewriteRule "^/ping/node2$" "/b1s/ping/node?ROUTEID=.node1" [PT]
Danach die Datei `httpd-b1s-lb-member-common.conf` öffnen und den Eintrag IfModule mpm_prefork_module wie folgt bearbeiten:
<IfModule mpm_prefork_module> ServerLimit 10 StartServers 10 MaxSpareServers 10 MaxClients 10 MaxRequestsPerChild 48 </IfModule>
Nun kann das Service Layer wieder gestartet werden mit dem Befehl: `systemctl start b1s`
Im Service Layer Control Center (`https://sap-server-ip:40000/ServiceLayerController`) sollte nun nur noch ein Node Member sichtbar sein.
Beispiel Service Layer Dateien (Nicht einfach kopieren und auf den HANA Server importieren): Example Service Layer Config Files.zip