Red Hat Enterprise Linux for SAP HANA Subscription
In order to install and run SAP HANA, express edition on a Red Hat Enterprise Linux (RHEL) operating system, the following additional Red Hat software components must be installed via Red Hat Enterprise Linux for SAP HANA channel:
compat-sap-c++.so
package which is the gcc-4.7 libstdc++
rebuilt for RHEL.
- tuned profiles
sap-hana
(or sap-hana-vmware
when used in a VMware environment)
An overview of the Red Hat Enterprise Linux for SAP HANA Subscription is available here:
And the detailed options and instructions to subscribe your RHEL system to the RHEL for SAP HANA channel are available here:
Once your system is properly configured with the subscription, you should be able to run the following command from a terminal console on your server:
sudo yum repolist
In the output you should have an entry like RHEL EUS Server SAP HANA
.
If the repositories are not listed or enabled, you can run the following command:
sudo subscription-manager repos --enable="rhel-sap-hana-for-rhel-7-server-rpms" --enable="rhel-7-server-rpms"
Now, you have to clean the yum
cached data.
From your server terminal console, execute the following command:
sudo yum clean all
Environment package
In order to install and run SAP HANA, express edition on your RHEL system, you will need the Base environment group package, as the Core or the Minimal group package are not enough.
From your terminal console, execute the following command to get the available group packages:
sudo yum grouplist
The Base environment group package may not be marked as installed in the previous list which may require to run the following command:
sudo yum group mark convert
If not installed, then run the following command:
sudo yum -y groupinstall base
Required packages
You will also need to check that the following package version are installed before getting started:
kernel-3.10.0-514.28.1.el7
or newer
kexec-tools-2.0.7-50.el7_3.2
or newer
glibc-2.17-157.el7_3.5
or newer
To verify that the packages are available, you can execute the following command:
rpm -qa --queryformat '(%{installtime:date}) %{name} %{version}\n' kernel
rpm -qa --queryformat '(%{installtime:date}) %{name} %{version}\n' kexec-tools
rpm -qa --queryformat '(%{installtime:date}) %{name} %{version}\n' glibc
Additional packages dependencies
You will need to install the following additional packages:
xulrunner |
sudo |
libssh2 |
expect |
graphviz |
iptraf-ng |
krb5-workstation |
libpng12 |
nfs-utils |
lm_sensors |
openssl |
PackageKit-gtk3-module |
libcanberra-gtk2 |
xorg-x11-xauth |
numactl |
bind-utils |
From your terminal console, execute the following command:
sudo yum -y install \
xulrunner \
sudo \
libssh2 \
expect \
graphviz \
iptraf-ng \
krb5-workstation \
libpng12 \
nfs-utils \
lm_sensors \
openssl \
PackageKit-gtk3-module \
libcanberra-gtk2 \
xorg-x11-xauth \
numactl \
bind-utils
The command uses the -y
which will assume that all questions will be answered as yes.
As the output may be long and not easy to visualize, you can run the command again.
You should be able to easily spot packages that can’t install properly.
RHEL SAP HANA Compatibility Library
The gcc-4.7 libstdc++
library is required to install and run SAP HANA in general whatever the Linux distribution.
A compatibility library was built for RHEL by Red Hat to enable the SAP HANA installation & execution, and this requirement is applicable to any SAP HANA, express edition installations on RHEL.
The compatibility library is available via the Red Hat Enterprise Linux for SAP HANA Subscription, which was configured during the first step.
To verify if the package was previously installed, you can execute the following:
rpm -qa --queryformat '(%{installtime:date}) %{name}\n' compat-sap-c++-6
The output should include an entry with version 6.3.1 or higher.
To install the package if it is missing or with an older version, execute the following command:
sudo yum -y install compat-sap-c++-6
Activate the RHEL SAP HANA Specific Tuned Profiles
The tuned tuning service for Linux can adapt the operating system to perform better under certain workloads by setting a tuning profile.
Red Hat has developed specific tuned profiles to optimize the performance of SAP HANA on RHEL.
From your terminal console, execute the following command:
sudo yum -y install tuned-profiles-sap-hana
Now you need to start and enable the tuning service by executing the following using sudo
:
sudo systemctl start tuned
sudo systemctl enable tuned
You can check the service status using the following command:
sudo systemctl status tuned
Once started, you can run execute the profile by executing the following commands:
tuned-adm profile sap-hana
Note: when executing RHEL on VMware the tuned profile is named sap-hana-vmware
Disable SELinux
RHEL 7.2 is delivered with SELinux
enabled by default. Since there is no supported SELinux
policy for SAP HANA, SELinux
must be disabled to be able to run SAP HANA on RHEL7.
From your terminal console, execute the following commands:
sudo setenforce 0
sudo sed -i 's/\(SELINUX=enforcing\|SELINUX=permissive\)/SELINUX=disabled/g' /etc/selinux/config
For the change to permanently take effect you will need to restart your system, but you will do that at the end of the configuration.
You can check the service status using the following command:
sestatus
It should return the following:
SELinux status: disabled
You can check the service status using the following command:
getenforce
It should return the following:
Disabled
Disable Automatic NUMA Balancing
SAP HANA is aware of NUMA (non-uniform memory access), and it does not rely on the Linux kernel features to optimize NUMA usage automatically.
Therefore, the automatic NUMA balancing features of the Linux Kernel should be disabled.
To disable this feature, from your terminal console, execute the following commands:
sudo cp /etc/sysctl.d/sap_hana.conf /etc/sysctl.d/sap_hana.conf.bkp
sudo echo "kernel.numa_balancing = 0" > /etc/sysctl.d/sap_hana.conf
sudo sysctl -p /etc/sysctl.d/sap_hana.conf
RHEL7 also provides the numad
user space daemon that can be used to control NUMA balancing of applications. This needs to be disabled as well using the executing the following commands:
sudo systemctl stop numad
sudo systemctl disable numad
Symbolic Links
Since SAP HANA is built on a different Linux Distribution some of the library names used during the built process do not match with the library names used on RHEL7.
Check if the following symbolic exists by execute the following command:
ls -la /usr/lib64/libssl.so.1.0.1 /usr/lib64/libcrypto.so.1.0.1
Make sure they point to respectively:
lrwxrwxrwx. 1 root root XX yyy zz aa:bb /usr/lib64/libcrypto.so.1.0.1 -> /usr/lib64/libcrypto.so.1.0.1e
lrwxrwxrwx. 1 root root XX yyy zz aa:bb /usr/lib64/libssl.so.1.0.1 -> /usr/lib64/libssl.so.1.0.1e
If they are not present you can add them by executing the following commands:
sudo ln -s /usr/lib64/libssl.so.1.0.1e /usr/lib64/libssl.so.1.0.1
sudo ln -s /usr/lib64/libcrypto.so.1.0.1e /usr/lib64/libcrypto.so.1.0.1
Configure your Firewall
To protect your servers from unauthorized access, it is usual to configure the built-in firewall of the OS to only allow its access via a specified series of ports and communication protocol.
To configure the firewall, you can use the firewall-config
tool. In this case, you will need an X11 System to display the GUI version or you can use the command line tool firewall-config-cmd
.
To avoid problems with the firewall during installation, it can be beneficial to disable it completely during the installation process with the following commands:
sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service
You can check the best practice section about firewall configuration once you complete the installation to properly configure your system.
Java Version
One the requirement to install SAP HANA, express edition is a 64-bit Java Runtime Environment (JRE) 8 or Higher, especially if you are planning to use the SAP HANA 2.0, express edition Download Manager.
To check if Java is installed, you can run the following command from your terminal console:
java -version
which should return:
java version "1.8.0_xx"
Java(TM) SE Runtime Environment (build 1.8.0_xx-yyy)
If you don’t have it yet installed, you can check the following link for download link and installation instructions : https://tools.hana.ondemand.com/#cloud
Using the RPM option is most likely the easiest, as you will have to simply run the following command from your terminal console (where needs to be adjusted based on the downloaded version):
sudo rpm -ivh <rpm directory>/sapjvm-<version>-linux-x64.rpm
Then you will need to update the “alternatives” and enable your flavor of java using the following commands:
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/java/sapjvm_8_latest/bin/java" 1
sudo update-alternatives --set java /usr/java/sapjvm_8_latest/bin/java