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
Afterwards:
- 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
scp ./hxexsa.tar.gz user@ip:/directory/hxexsa.tar.gz
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 importovf 110 image.ovf sda_ssd_1tb
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.
For details, see:
Proxmox Doku on qm
https://en.wikipedia.org/wiki/Qcow
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
a) Pitfalls
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 !!"
see:
https://answers.sap.com/questions/12683888/sap-hxe-configuration-failed-to-change-hardware-ke.html
b) Edit Hosts File
This has to be done on the server! I did this first on the client machine.. not useful there
😉
File: /etc/hosts
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
here.
Test it using:
xs-admin-login
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...
Test Web-IDE:
xs apps | grep webide
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
xs apps | grep cockpit-admin-web-app
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).
Test using:
hdbsql -v
The output should be similar like this
"HDBSQL version 2.7.21.1611351107, the SAP HANA Database interactive terminal.
Copyright 2000-2021 by SAP SE."
To create a first example i followed this
tutorial.
Usage of XSA
Besides the database HANA also includes the SAP HANA XSA (HANA XS Advances) service, with can be used to program natively (using Python, JavaScript or Java) on the HANA platform.
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
Lessons Learned
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.
Sources
Getting Started with SAP HANA 2.0, express edition (Virtual Machine Method)
HANA Clients
OVA Import in Proxmox
see also:
https://developers.sap.com/topics/hana.html