SAP HANA 2.0 express edition on Proxmox
Aim of this blog-post is to describe the installation process of HANA 2.0 express edition (including applications) as a OVA image on Proxmox. HANA doesn’t need an introduction, Proxmox is an open-source platform for enterprise-virtualization, comparable to VMWare. There is also the possibility to use a cloud version at HANA Cloud Trial, however i like the idea to have the system in my own realm.
A detailed description on how to install “SAP HANA, express edition server” in general can be found at http://developers.sap.com/tutorials/hxe-ua-getting-started-vm.html, so here i just mention the pitfalls for Proxmox. How to import the OVA-image is described in detail in this blog from Tobias Hofmann.
Steps for Installation
1) Register and Download SAP HANA, express edition
You can find the Download-Manager at https://www.sap.com/products/hana/express-trial.html
For me, the Linux DM did not work (perhaps due to 32/64 bit issue), so i used the “Platform-independent DM”. For the use in Proxmox i downloaded:
- Platform: Linux/x86-64
- Image: Virtual Machine
- Server + applications virtual machine
Start the Download-Manager.. take a coffee-break.
2) Create Virtual machine on Proxmox
While the HANA-image is being downloaded, you can already create your virtual machine in Proxmox. See the already mentioned blog from Tobias Hofmann for details. I used the following settings:
- Name: HXE
- ID: 110
- No Image/Media
- add a disc (will not be used, and removed later)
- add at least 16GB RAM
- Detach (and afterwards remove) the disc associated to the VM
- Rename the OVA file to *.tar.gz and upload to Proxmox (not explicitly needed, just for sake of clarity. Use the following commands)
- Extract (make sure there is enough space available, i had to place it on an nfs-share)
- Import the OVA (now .tar.gz)-file
tar -xvf hxexsa.tar.gz
gzip -d hxexsa-disk1.vmdk.gz
qm importdisk 110 hxexsa-disk1.vmdk sda_ssd_1tb -format qcow2
Alternatively you can also use qm importovf
qm: is the Qemu/KVM command.
importdisk: as the name suggests, this imports an disk image (file). There are several parameters needed:
qm importdisk -format [qcow2 | raw | cmdk]
In this case qcow2 is used and “sda_ssd_1tb” is my internal disc, the image will be placed.
Afterwards, assign the disk to the VM – To do so, choose “Edit – Disk ‘Unused disk 0′” in the VM settings:
- Type: SATA
- Set the Boot-order to SATA first
3) Start the Server
First you need the change the default password (Default User: hxeadm; Default Password: HXEHana1). When being asked “Proceed with configuration (Y/N)” wait a little bit to give the DB time to spin up, before proceeding! Otherwise, for me it did not work. I stumbled across two problems here:
1) Boot-loop after error-message “Password already changed”:
“hxehost:hxeadm Password already changed. However, the new password you specified is invalid”. The system was stuck in some kind of boot-loop – always coming back to this error-message – no matter which new password was provided. This seems to be caused by a corrupt image. Downloading the OVA-image again solved this.
2) Error: “Failed to change hardware key”
This was caused by Proxmox not being able to acquire enough RAM. Be sure there are at least 16 GB available. It seems like a lot of strange errors, can be solved by checking the amount if RAM. We all knew HANA is a RAM beast. “MOAR RAM, MOAR RAM !!”
b) Edit Hosts File
This has to be done on the server! I did this first on the client machine.. not useful there 😉
see Tutorial on developers.sap.com
4) Use the HANA instance
Logon to http://your-ip:8090/
An overview of all the SAP HANA Administration Tools can be found
Test it using:
1) Error “The connection to the controller API (https://hxehost:39030) could not be established”. If this error occurs, then you missed the step of adjusting the /etc/hosts-file or used the wrong IP-adress.
2) Error : “If ‘xs-admin-login’ is not a typo you can use command-not-found to lookup the package that contains it, like this.” Don’t be fooled: Have you really installed the “server + applications” image? Guess who didn’t in the first palce…
Should be accessible on port https://hxehost:53075
Connect with user: XSA_DEV
Web-IDE is the cloud-based development environment for Fiori/UI5, as well as for OData and HANA native (https://developers.sap.com/topics/web-ide.html). Keep in mind that using VSCode is an alternative (see answers.sap.com).
Test SAP HANA Cockpit Manager
Should be accessible on port https://hxehost:51047
Connect with user: XSA_ADMIN
The SAP HANA Cockpit is the central entry-point to administer and monitor the SAP HANA database. It’s a web-based HTML5 GUI (help.sap.com)
– If you see the error message “503 Service not available”:
check with the command above, if the service is running. Be sure it’s stated STARTED and 1/1 instances. (First line in the screenshot: The startup process is not finished yet, second line ine the screenshot: everything is fine)
– Error message “You are not authorized to access the SAP HANA Cockpit Manager.” on login with XSA_ADM. Keep in mind, the user is XSA_ADMIN
see also: https://answers.sap.com/questions/133158/hana-express-edition-xsaadmin-not-authorized-in-co.html
Install and test the HDB-Client
The clients can be found here:HANA Clients. There is also the intended use described: “The SAP HANA client provides a set of utilities and drivers to connect to and query a SAP HANA database from multiple programming APIs, such as Node.js, Python or Java..” (source: https://developers.sap.com/tutorials/hana-clients-install.html).
The output should be similar like this
“HDBSQL version 18.104.22.1681351107, the SAP HANA Database interactive terminal.
Copyright 2000-2021 by SAP SE.”
To create a first example i followed this tutorial.
Usage of XSA
There is a mission in the SAP Tutorial Navigator, which leads you through the first steps: https://developers.sap.com/mission.xsa-get-started.html
Installing HANA 2.0 express edition on Proxmox is quiet easy. Most pitfalls are originated by the guy sitting in front of the computer (in this case me), struggling with insufficient RAM and wrong users.