Installation von SAP HANA Express in der eigenen Cloud

Installation von SAP HANA Express in der eigenen Cloud

Nach dem die SAP Ihre HANA Express (HXE) Images für die Hyperscaler nicht mehr bereitstellt, habe ich mir selber eine HXE Installation (database server only) auf einem virtuellen Server bei IONOS erstellt. Das dauert zwar länger, ist aber gerade für einen Server, den man rund um die Uhr laufen lassen will, mit 200-300€ p.a. eigentlich viel günstiger.

Wichtig: Nur Binärinstallation von HANA Express, database server only

Hier beschreibe ich nur die Variante der Binärinstallation von HANA Express, database server only. D.h. es „fehlen“ der Applikationsserver XS Advanced und Anwendungen wie z.B. Web IDE und SAP HANA Cockpit. Für das Lernen von SQLScript und dem Arbeiten mit dem System mit Eclipse ist das völlig ausreichend. Wer Web-Applikationen entwickeln will, der muss an der entsprechenden Stelle mehr Dateien installieren. Und Die Variante der VM-Installation ist etwas einfacher.((Die unterschiedlichen Installationsmöglichkeiten sind hier beschrieben))

Diese Anleitung lädt alle zum Nachmachen ein, die keine Lust haben, sich mit allen Details selber auseinanderzusetzen. Da ich kein Basis-Administrator oder Linux Experte bin, kann ich nicht garantieren, dass mein Vorgehen das Beste ist, dass das System optimal konfiguriert ist und das ich beim günstigsten Hoster bin. Was ich aber mit Sicherheit sagen kann: Wenn man sich an die Beschreibung hält, dann bekommt man mit wenig Zeitaufwand eine lauffähige SAP HANA Datenbank.

Das ist der Weg

Ich beschreibe nur, was ich gemacht habe. Dabei werde ich nicht auf alle anderen möglichen Szenarien und Konstellationen eingehen. Dadurch wird die Anleitung schlanker und lässt sich 1:1 reproduzieren. Ob das für Sie und Ihr Szenario passt, können Sie ganz leicht an der folgenden List ablesen. Hier sind die wichtigsten Eckpfeiler der Anleitung beschrieben.

  • Virtuellen Server buchen: Warum bin ich bei IONOS und nicht bei einem der Hyperscalern
  • Einspielen eines OpenSuse Leap 15 Linux Images
  • Installation der notwendigen Voraussetzungen (Java, Bibliotheken)
  • Vergabe einer Sub-Domain, so dass der Server beispielsweise unter hana.brandeis.de erreichbar ist
  • Installation und Aufruf des HANA Downloaders
  • Installation der HANA Express (database server only)
  • Notwendige Portfreigaben der Firewall
  • Einrichtung des Systems in Eclipse
  • Starten und Beenden des Systems

Es werden keine Linux Details besprochen, d.h. wenn man davon abweicht, dann sollte man wissen was man macht. Die notwendige Doku habe ich an jeder Stelle verlinkt, das ist aber dann nicht mehr mein Weg.

Voraussetzungen und Software

  • Grundlegende Kenntnisse in Linux und der Bedienung von FTP-Client und SSH Terminal
  • 1 Server, Anforderungen siehe unten
  • SSH Terminal, z.B. PuTTY
  • FTP Programm, z.B. FileZilla

Warum ein klassicher Webhoster und kein Hyperscaler?

Zunächst möchte ich mein Anforderungsprofil beschreiben.

  • Die SAP HANA soll rund um die Uhr erreichbar sein. Als ich noch ganz alleine meine Schulungen gemacht habe, war das egal. Ich konnte einfach schnell das System in der CAL starten und nach dem Kaffeholen loslegen. Wenn man zu dritt ist, geht das nicht mehr so einfach. Also soll die Kiste rund um die Uhr laufen.
  • Der Zugang sollte in erster Linie mit Eclipse erfolgen. D.h. mir reicht die SQL-Konsole und die reinen XSC Calculation Views. Das ist für BW-Berater ausreichend. Trotzdem soll auf dem System grundsätzlich XSA laufen, damit man mal die WebIDE zeigen kann.
  • Bei Schulungen sollen bis zu 20 Teilnehmer gleichzeitig arbeiten können, allerdings mit sehr überschaubarem Datenvolumen: Dem Demo Datenmodell zum Buch SQLScript für SAP HANA. Der Zugang hierbei erfolgt nur über die SQL-Konsole.
  • Ein regelmäßiges Backup ist nicht notwendig. Vielleicht aber das Sichern von einzelnen Systemzuständen in Images, um vor Schulungen immer den gleichen Zustand herzustellen.
  • Das System soll nicht physisch in meinem Büro stehen. Ich möchte nicht noch mehr Blech da rumstehen haben. Und da meine Schulungsteilnehmer darauf zugreifen, soll die Internetanbindung maximal schnell sein

In 2020 hatte ich bereits einen virtuellen Server für ein Konferenzsystem bei IONOS betrieben und war damit sehr zufrieden. Darum hatte ich mich bei der neuen Heimat für meine HXE auch dort umgesehen. Soweit ich die Preislisten von Google Cloud Platform (GCP), Amazon AWS und Microsoft Azure verstehe, sind sie nicht günstiger((OK, von vollständigem Verstehen kann nicht die Rede sein. Da man für Speicher, CPU und Netzwerk separat zahlt, ist am Ende die Rechnung oft wieder höher als erwartet. Und welches der 3000 unterschiedlichen Maschinengrößen man braucht, das versteht kein Mensch. Aber ich habe zumindest einen Vergleich versucht.)).

Für eine HXE Datenbank ohne XSA Applications empfiehlt die SAP ein Minimum von 2 Cores und 8 GB Ram. Für das etwas grössere Paket VPS XL RAM mit 6 vCores, 18 GB Ram und 160GB SSD verlangt IONOS im ersten Jahr 162€ und für jedes weitere Jahr 288€. Das erscheint mir relativ günstig. Aber ich bin mir sicher, dass auch andere Hoster preiswerte virtuelle Server in dieser Größenordnung haben. Natürlich hätte ich den Server auch eine Nummer kleiner nehmen können, aber bei Schulungen soll er nicht in die Knie gehen.

Ein anderer Aspekt für die Entscheidung für einen „kleineren“ Hoster((IONOS gehört zu United Internet, das ist ein Konzern mit über 5 Mrd. € Umsatz. Das ist natürlich nur im Vergleich zu den Hyperscalern klein. Immerhin haben sie den Sitz noch in Deutschland und zahlen hoffentlich auch hier die Steuern.)) war für mich, dass ich seit längerem vermeide, bei Amazon und Co. einzukaufen. Deren Geschäftsgebaren ist in vielerlei Hinsicht unethisch und ich möchte ihnen deshalb nach Möglichkeit kein Geld überweisen. Bislang war es bequem zu sagen: Die SAP bietet nur Images an für die großen drei, also kann ich gar nicht anders. Nach dem das jetzt auch nicht mehr der Fall ist, fällt diese Ausrede weg.

Das Linux Image einspielen

Wenn man einen vServer bucht, dann kann man dort ganz einfach unterschiedliche Betriebssysteme installieren. Ich wähle OpenSuse Leap 15. Das steht zwar nicht auf der Liste der empfohlenen Linux-Varianten, ist aber bei meinem Hoster verfügbar und ich muss nicht selber Linux installieren.

Installation des OpenSuse Leap 15 Images

Backup Agent stelle ich aus, weil das zusätzliche Kosten verursacht. Für mich ist ein sauberes Image nach der Installation wichtiger als ein permanentes Backup. Es wird ein Pop-Up mit dem Kennwort des Servers angezeigt. Unnötig zu erwähnen, dass man sich dieses wirklich gut merken muss. Ansonsten kommt man nicht mehr auf die Maschine.

Pop-Up mit Kennwort

Vorbereiten des Betriebssystems

Nach der Installation des Betriebssystems müssen wir uns mit der Konsole als Root verbinden und dort ein paar Dinge installieren. Dafür verwende ich den kostenlosen SSH-Client PuTTY ((PuTTY kann man kostenlos runterladen unter https://www.putty.org/)). Die Verbindungsparameter finde ich auf der Serverübersicht:

Die wichtigsten Verbindungsparameter

Also starten wir PuTTY und verbinden uns mit der IP Adresse:

PuTTY Einstellungen: Nur die IP und Port sind relevant

Dort melden wir uns mit dem Benutzernamen root und dem Kennwort ein:

Linux Konsole

Ein Hinweis zur Konsole

Die meisten werden es schon wissen, aber in der Konsole steht links immer ein Prompt. Der enthält viele wertvolle Hinweise über den Kontext. Das ist gerade bei einer Anleitung wie dieser sehr wichtig.

Beispielsweise sagt der Prompt localhost:~ # das folgende: Du bist am Server mit dem Namen localhost mit einem privilegierten User (#) angemeldet und befindest dich im Home-Verzeichnis dieses Users.

Weiter unten kommt z.B. der Prompt hana:/hana # . Das System hat also jetzt den Namen hana und wir befinden uns im Verzeichnis /hana.

Installation von Java und ein paar Bibliotheken

Wenn wir verbunden sind, dann werden jetzt die notwendigen Komponenten installiert. Das machen wir mit dem Paketmanager ZYPPER. Die folgenden Zeilen bitte einzeln, nacheinander in der Konsole eingeben. Alle Fragen, die dabei gestellt werden, müssen mit Y bestätigt werden.

localhost:~ # zypper install java-11-openjdk
localhost:~ # zypper install insserv
localhost:~ # zypper install libatomic1
localhost:~ # zypper install libnuma1
localhost:~ # zypper install numactl

Wenn hier etwas vergessen wird, dann wird das im Anschluss bei der Installation der HANA Express zu Fehlern führen, die man sich mühsam aus den Logs raussuchen muss.

Vergabe von Hostname und Domain

Dieser Schritt ist optional. Wer ihn überspringt kann nur per IP-Adresse auf sein System zugreifen.

Da ich meinen Server über einen festen Hostname wie z.B. hana.brandeis.de muss ich noch ein paar extra Schritte unternehmen. Zunächst muss ich meiner Domain brandeis.de mit dem folgenden A-Record in den DNS Einstellungen eine Sub-Domain zuweisen:

DNS-Einstellungen für die Sub-Domain

Und jetzt muss ich dem Server noch mitteilen, dass er auf den Namen hana.brandeis.de hört. Dazu muss ich zwei Änderungen in Konfigurationsdateien machen. In die Datei

  • /etc/hostname muss der neue Hostname hana reingeschrieben werden. Und in
  • /etc/hosts muss einen Eintrag für hana.brandeis.de eingefügt werden:
212.227.215.128 hana.brandeis.de hana

Da ich aber mit den Linux Konsolen Texteditoren nicht so gerne arbeite, lade ich die Dateien per FTP runter und wieder hoch. Dazu verbinde ich mich per IP mit dem Benutzernamen root und meinem Passwort per FTP mit dem Server. Als FTP-Client verwende ich den kostenlosen FileZilla((Filezilla kann man unter https://filezilla-project.org/download.php kostenlos downloaden)):

So kann ich die Dateien bequem in meinem gewohnten Notepad++ (oder dem normalen Notepad) bearbeiten und wieder speichern.

Bearbeiten der Datei /etc/hostname in Notepad++
Bearbeiten der Datei /etc/hosts in Notepad++

Nach dem Editieren müssen die Dateien jeweils gespeichert, geschlossen und hochgeladen werden. Damit die beiden Einstellungen greiffen, muss der Server jetzt neu gestartet werden. Das erreichen wir in der Konsolemit der Eingabe von

reboot

Installation und Aufruf des HANA Download Managers

Zum Download des HANA Download Manager müssen Sie sich zunächst auf dieser Seite https://www.sap.com/cmp/td/sap-hana-express-edition.html registrieren. Danach können Sie den Download Manager runterladen. Ich habe mich für die Platform-Independent Variante entschieden:

Auswahl des HANA Download Managers

Per FTP habe ich dann den DM in das Verzeichnis /root hochgeladen:

Dowlnoad Manager im Verzeichnis /root

Dananch wieder mit PuTTY neu verbinden. Jetzt sollte auch der neue Hostname (bei mir hana )angezeigt werden:Wichtig ist, dass wir im Verzeichnis /root sind. Dort wird zunächst noch ein neues Verzeichnis /root/Downloads angelegt und dann der DM mit den passenden Parametern gestartet:

hana:~ # mkdir Downloads
hana:~ # java -jar HXEDownloadManager.jar linuxx86_64 installer Getting_Started_HANAexpress_Binary_Installer.pdf hxe.tgz
Konsole nach dem erfolgreichen Download

Installation der HANA Express

Navigieren ins Hauptverzeichnis und Anlegen eines neuen Unterverzeichnis /hana:

hana:~ # cd ..
hana:/ # mkdir hana
hana:/ # cd hana

Dort dann die Dateien Entpacken:

hana:/hana # tar -xvzf /root/Downloads/hxe.tgz

Und jetzt wird installiert:

hana:/hana # ./setup_hxe.sh

Dabei werden uns allerlei Fragen gestellt, deren Standardwerte wir mit Enter einfach übernehmen können oder nach unserem Gusto anpassen. Ich mache hier die folgenden Änderungen:

  • Als System-ID wähle ich DEV, damit ich das System von anderen HANA Express Systemen in Eclipse unterscheiden kann.
  • Als Instance Number wähle ich 00. Das spiegelt sich später in den Ports wieder, wo die 2. und 3. Stelle die Instanz Nummer sind.
  • Das Passwort müssen wir uns wieder gut merken, denn das wird auch für die HANA Default User verwendet.
hana:/hana # ./setup_hxe.sh
Enter HANA, express edition installer root directory:
    Hint: <extracted_path>/HANA_EXPRESS_20
HANA, express edition installer root directory [/hana/HANA_EXPRESS_20]:

The SAP HANA system ID (SID) is three uppercase alphanumeric characters to identify the SAP HANA system.

Enter SAP HANA system ID [HXE]: DEV

An instance number is a two-digit numeric identifier for the SAP HANA instance.

Enter instance number [90]: 00

Enter local host name [hana.brandeis.training]:

Password must be at least 8 characters in length.  It must contain at least
1 uppercase letter, 1 lowercase letter, and 1 number.  Special characters
are allowed, except \ (backslash), ' (single quote), " (double quotes),
` (backtick), and $ (dollar sign).

Enter HDB master password:
Confirm "HDB master" password:


##############################################################################
# Summary before execution                                                   #
##############################################################################
HANA, express edition installer : /hana/HANA_EXPRESS_20
  Component(s) to install                   : HANA server, Application Function Library, SAP HANA EPM-MDS
  Host name                                 : hana.brandeis.training
  HANA system ID                            : DEV
  HANA instance number                      : 00
  Master password                           : ********
  Log file                                  : /var/tmp/setup_hxe_2021-01-26_11.10.33.log

Proceed with installation? (Y/N) : Y

Notwendige Portfreigaben der Firewall

Während die Installation läuft, können wir uns um die Portfreigabe kümmern. Die notwendigen HANA-spezifischen Ports sind:

  • 3<NN>15 – SQL/MDX Zugang für die erste Tenant Datenbank
  • 3<NN>13 – SQL/MDX Zugang zur Systemdatenbank
  • 5<NN>13 bis 5<NN>14 – Instance Agent

In dieser Liste steht <NN> für die Instanz Nummer. In meinem Beispiel 00, es wird aber auch gerne der Standardwert 90 gewählt. Alle Ports zur SAP HANA finden Sie auf dieser Seite, wo Sie noch auf das Produkt SAP HANA Platform einschränken sollten.

Bei IONOS sieht die Portkonfiguration dann so aus:

Es dauert übrigens ein paar Minuten bis bei IONOS die Ports dann wirklich zugänglich sind. Dazu bitte den Status beachten: Erst wenn statt „Wird Konfiguriert“ dort „Aktiv“ steht, dann ist das fertig.

Einrichtung des Systems in Eclipse

Wenn die Installation durch ist und die Ports freigegeben wurden, dann können wir uns mit Eclipse verbinden. Die Installationsprozedur hat uns schon eine Tennant-Datenbank mit dem Namen der System-ID angelegt. In meinem Fall also DEV:

Starten und Beenden des Systems

Das System ist dafür ausgelegt, das es rund um die Uhr läuft. Sollte es z.B. für ein offline-Backup mal angehalten werden oder nach dem Serverneustart hochgefahren werden, so müssen wir uns dafür mit den Benutzer <sid>adm anmelden, also bei mir mit devadm. Um das System zu starten, geben wir HDB start ein:

Und zum Stoppen entsprechend HDB stop .

Nach dem alles läuft, empfehle ich die Erstellung eines Images. Damit kann man immer wieder den gleichen Systemstand nach der Installation herstellen.

Fazit

Die Installation von SAP HANA Express in der eigenen Cloud ist nicht so schwer und geht auch relativ schnell. Damit macht man sich unabhängig von der SAP. Ich bin gespannt, wie sich das System auf Dauer verhält. Falls ich hier noch etwas nachjustieren muss, werde ich es natürlich auf dieser Seite veröffentlichen.

Eine Antwort

  1. Danke Jörg,
    super Anleitung! Vielen Dank.
    Nachdem ich FTP und NANO installiert hatte, konnte ich mit der Anleitung mein HXE 2.0 erfolgreich auf einem VPS installieren. 🙂
    Auf SUSE 42.3 bin ich verzweifelt mit SUSE 15.1 hat’s geklappt.
    Gruss Egon

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Fordern Sie weitere Informationen an

Wollen Sie mehr Informationen?

Unverbindliche Anfrage

%d Bloggern gefällt das: