How to install SAP Hana Express Edition 2.0 on Ubuntu 18.04 (Bionic Beaver)
Introduction
Warning: this version of Ubuntu was not tested by SAP HANA Express Edition engineers as a valid platform for HXE. The latest version confirmed by the HXE developers is 17.04. The process described here is not recommended or supported by SAP.
SAP Hana Express Edition 2.0, or simply hxe, is a free version of the in-memory database of SAP that can be installed both locally (on-premise) or in the cloud.
Two variants are available for installation:
- Server Only - that requires a minimum of 8GB RAM (recommended 16GB RAM)
- Server + Applications - minimum of 16GB RAM, recommended is 24GB
It is also required that you have 120GB of free disk space.
Each version is available either as as application you install on top of your Linux OS or as a preconfigured VMWare image.
The on-premisse installation of hxe is supported by SAP only in SUSE Enterprise Linux or Red Hat Enterprise, but it is works with other Linux distributions.
As my Ubuntu laptop only have 8GB RAM, I decided to go with the Local Server Only installation and this is the configuration I will be using in this tutorial.
Download
Go to https://www.sap.com/developer/topics/sap-hana-express.html, click on Free Download (or visit https://www.sap.com/cmp/ft/crm-xu16-dat-hddedft/index.html).
Register, and in the new screen, download the Download manager for your OS.
Run the Download manager and in the screen, select the image Binary Installer from the dropdown box and set the location where you want to download the files.
Make sure that Server Only Installer is checked, then click on Download.
Installation
After the download is finished, you will have a new file called hxe.tgz in the download directory you selected in the previous step.
Now execute:
$ tar zxfv hxe.tgz
Before continuing with the installation, we need to run some commands to make sure that the system can run the installer.
First, we need to change the sh binary to point to bash
$ sudo cp /bin/sh /bin/sh/orig $ sudo ln -s /bin/bash /bin/sh
Also, on Ubuntu 18.04, update-rc.d script no longer contain the -n flag, that is used by the hxe installer when it calls update-rc.d .
Due to this, the installation would fail with:
Installation of SAP HANA Express Edition System failed.
01:32:45.346 – ERR : Installation of SAP HANA Database failed
01:32:45.345 – INFO: Installation failed
01:32:45.346 – INFO: error installing
01:32:45.346 – INFO: Cannot create system
01:32:45.346 – INFO: Error checking sapinit
01:32:45.346 – INFO: Starting external program update-rc.d
01:32:45.346 – INFO: Command line is: update-rc.d -n sapinit defaults
01:32:45.346 – INFO: Output line 1: update-rc.d: error: unknown option
01:32:45.346 – INFO: Output line 2: usage: update-rc.d [-f] <basename> remove
01:32:45.346 – INFO: Output line 3: update-rc.d [-f] <basename> defaults
01:32:45.346 – INFO: Output line 4: update-rc.d [-f] <basename> defaults-disabled
01:32:45.346 – INFO: Output line 5: update-rc.d <basename> disable|enable [S|2|3|4|5]
01:32:45.346 – INFO: Output line 6: -f: force
01:32:45.346 – INFO: Output line 7:
01:32:45.346 – INFO: Output line 8: The disable|enable API is not stable and might change in the future.
01:32:45.346 – INFO: Program terminated with exit code 1
As a temporary workaround for this, run these commands:
$ sudo cp /usr/sbin/update-rc.d /usr/sbin/update-rc.d.orig $ sudo sed -i "321i if (/^-n$/) { next }" /usr/sbin/update-rc.d
Finally, now you can now execute the setup script:
$ sudo ./setup_hxe.sh
The installer will make some questions about the installation, that you can leave the default values, and ask you to choose a password that will be used by OS users hxeadm, sapadm and HANA SYSTEM user.
The installer should finish after some time, and you HANA DB will be up and running.
You can confirm that by running these commands after the installation is finished:
$ su - hxeadm Password: hxeadm@hanadb01:/usr/sap/HXE/HDB90> HDB info
HDB info should show something similar to this:
And that’s it.
You can now connect to your hxe instance using eclipse with Hana tools (https://tools.hana.ondemand.com) or your favorite programming language.
Remember that the DB is running at port 3xx15, where xx is the instance number. If you used the default value from the installer, it should be 39015.
Finally, don’t forget to restore the original update-rc.d script:
$ sudo cp -f /usr/sbin/update-rc.d.orig /usr/sbin/update-rc.d
Conclusion
In this howto, I tried to described how I did the installation of HANA Express Edition on a local computer running Ubuntu 18.04 (Bionic Beaver).
Let me know if this method worked for you using the comments section.
Hi Rafael,
nice one! I ran into the same problem and added Ubuntu 16.04 LTS as a package source, then downgraded via
And later upgraded.
Unfortunately it seems not to be working with tinc (decentral VPN) together, the hdbdaemon doesn't come up anymore. I think it might be related that a second network interface is up (/dev/net/tun)? Anyway, must explore further. A plain installation works.
Hi Rafael
Excellent documentation
A couple tips to add for future use in Ubuntu folks
Following your steps with two additional hints, I was able to finish.
Two small issues - Tenant database to add streaming (HXESTR in my case) failed to register with cockpit. I plan to register manually at a later time.
If autostart is enabled - login response (in Gnome in my case) is slow. Since this is POC, I could start it whenever needed.
Thanks for your tips. 🙂
Hello Guys,
I struck with the SAP Hana Express(Server+Application) binary installation on Ubuntu 18.04. My server installation is successful but XSA installation is failing. (Is it because of RAM I need to upgrade it to 32GB)
I checked the log file but there is no information captured since it shutdown’s the box once it reaches the XSA installation phase. I am using binary installation with SUSE files.
I searched a bit on this issue and found RAM as a problem. Can I try different installation options like install VM on Ubuntu with Suse Linux or Windows and then install?
My system –
Ubuntu 18.04 (Bionic)
Intel Core™ i7-8750H
RAM 16GB DDR4
I request your help in fixing the above issue.
Regards,
Vivek
Hi Vivek,
XSA requires 16GB of RAM to be installed on top of the OS.
I haven't tried to install in UBUNTU as my laptop have only 8GB RAM.
Also, please note that It is required that you have 120GB of free disk space.
Regading VM, as you only have 16GB RAM, an XSA installation is not possible. You can only run DB in the VM.
My suggestion would be to either upgrade your RAM or run DB only.
BR,
Rafael
Rafael Zanetti,
You are a life saver!! Worked like a charm. I would have spent hours if not for this blog. Really appreciate you spending time on helping many people like me. 3 cheers!!
Selvakumar Mohan
My installation is stuck at "Installing SAP Host Agent version 7.21.33..."
OS: Ubuntu 18.04
ram: 6 Gigs
I followed all the instructions given above. Please help.
Hi Aditi,
as described in the post:
6GB is not enough to install and run HANA express.
BR,
Rafael
I had the same issue on 8GB RAM. increased to 20 GB, no luck.
Problem solved by increasing the number of cores.
For Debian flavor OS, like Ubuntu for example, you can refer to a complete guide for beginners here.
Hi Rafael,
i tried this with HANA 2.0 SPS 04 and got the Message
11:15:23.458 - INFO: Summary of critical errors
11:15:23.142 - ERR : Installation of SAP HANA Express Edition System failed.
11:15:22.982 - ERR : Cannot detect command line options dynamically.
11:15:22.973 - ERR : Cannot parse external program configuration:
syntax error at line 1, column 0, byte 0 at SDB/Install/Configuration/ExternalProgramConfiguration.pm line 80.
Enough RAM ( 52 GB ) and diskspace and Ubuntu server 18.04.
Any suggestions?
Thanks a lot,
Andre
This is a permission issue on the install directory. You can give full permission on the folder which will get past this error.
I’ve try to give 777 permission to the install directory but still have the same problem some other ideas? Im using RHEL 8.1 Shuvendu Patel
Hello colegues! We've found solution to our problem. Our problem was we need to install all the packages for lolcale -a because in RHEL 8 install only a lite version of the language you use in the installation.
The command to install:
yum install -y langpacks-en langpacks-de glibc-all-langpacks
Credits to:
Daniel Nashed blgo: https://blog.nashcom.de/nashcomblog.nsf/dx/locale-issue-on-linux-centos-rhel.htm
Do you find solution to this problem? Im facing the same problem right now, and I have permissions to my instalation folder.
Hi Rafael,
Awesome....It really helped.
Thanks for making it precise and simple, and especially for highlighting the expected errors and resolution.
Thanks
Abhishek
In Ubuntu 20.04 /usr/sbin/update-rc.d has changed.
I have added line 336:
if (/^-n$/) { next }
The context is:
Thank you very much, you helped us, ateast me, a lot, It went thru fine.
Nice to know you successfully installed it on Ubuntu 20.04.
I am stuck at the missing library libstdc++6-6.2
How did you fix the abortion of the script because of different libstdc++ Versions??
Hi Thorsten, How did you get around the problems installing libstdc++6-6.2?
Hi Thorsen, hi Peter, i'm also stuck on :
Failed to install following package(s): libstdc++6-6.2
Your software repositories do not have the package(s) and/or the required
version. Please check with your OS vendor.
Even though i have installed the newest version...
I gave up and installed on VirtualBox using the image file.
Hello and thanks a lot for this tutorial
in my case the command
Thank you Thorsten. Needed this for Ubuntu 20.04, finally...
Finalizing installation of SAP HANA Database...
Finalizing System Installation...
Starting SAP HANA Database system...
Updating SAP HANA Express Edition Instance Integration on Local Host...
Deploying SAP Host Agent configurations...
Creating Component List...
SAP HANA Express Edition System installed
Thank you.
I installed Hana on Ubuntu 20.04 focal today and got the error at the optimization phase:
"Fail to retrieve certificate"
Same happens when running ./HXE_EXPRESS_20/register_cockpit.sh
It turns out that the register cockpit script asks for all tls1 certificates put the installed openssl program does not support these anymore.
So I changed line 372, the one with the openssl command and replaced -tls1 with -tls1_2. No error and I can login with the XSA_ADMIN user into the cockpit app.
Just to let you know in case you run into this problem as well.
Oh, and the setup_hxe.sh script tests if the libstdc++6 is installed for a version that is not available in Ubuntu 20.04.
So I installed it manually
sudo apt install libstdc++6
and modified line 1973, the list of REQUIRE_OS_PACKAGE_UBUNTU, and removed the entry