Friday, 13 March 2020

Installing HANA Express 2.0 and XSA: Installation

Remember from our deployment options discussion that our objective is to have a fully functioning SAP HANA instance available over the internet while being hosted in the cloud. In this post we’ll walk through the necessary installation steps for native Linux deployments on AWS.

Pre-Install


AWS Account Registration You must register for an AWS account at aws.amazon.com 
SAP Account Registration  You must register for an SAP account at developers.sap.com.
HANA Download Manager  Navigate to the Trials and Downloads section and choose SAP HANA Express. Click the Free Download button and complete the registration form. Be sure to download the 64 bit Linux version. 
Java 8  The installation requires Java 8 runtime. The best version is the SAP JVM available here: https://tools.hana.ondemand.com/#cloud. You can also use the main repository at java.com. The file names will be different but either will work.
Make sure to download the most recent (8.1+) .rpm file for 64bit linux. 
SSL Certificate  An SSL certificate is required for communication with SAP HANA Express. Since I will be using my own domain name I will also need an SSL certificate for that domain to be installed on the server. You can use GoDaddy or a similar provider of domains & certificates. 
SAPCRYPTOLIB  The current SAP HANA Express version has an old version of SAPCRYPTOLIB used for secure communications. We’ll need to download the latest version from support.sap.com. 

A few side notes before we continue:

The Download Manager step doesn’t actually download SAP HANA Express, but a small executable that we will copy to the server later to run natively from Linux.

Also, you will want to update and maintain your environment as time goes on. Unfortunately, as of this writing, the current version of HANA Express is unable to execute HXECheckUpdate_linux.bin. This executable is used post-install for maintenance updates.

This file is not downloadable anywhere that I could find and it can’t be redistributed by me, so the best workaround is to spin up a CAL deployment of the current image, copy the file for safekeeping, and terminate all instances and storage for the CAL deployment. At a later time you can copy this file to the correct location on your SAP HANA Express server.

Finally, I am performing this tutorial from OSX so my downloads default to the Downloads folder. My step-by-step terminal commands depend on this assumption.  If you are not on OSX or are using a different folder for downloads you will need to adjust the local commands executed on your machine accordingly.

Server Deployment


Login to your Amazon account and navigate to the EC2 Dashboard and select Launch Instance.

This will initiate a short workflow in which we will configure according to the following options:

AMI Image SUSE Linux Enterprise Server 12 SP4 (HVM) 
Instance Type  r5.xlarge
Configure Instance  Default settings 
Add Storage  200GB (GP2) 
Tags  Optional 
Configure Security Group  See Port Listing 

Select the SUSE Linux Enterprise Server 12 SP5 (HVM) edition machine image.

SAP HANA 2.0, SAP HANA XSA, SAP HANA Learning, SAP HANA Tutorial and Material, SAP HANA Guides, SAP HANA Exam Prep, SAP HANA Prep

Choose an instance type. I prefer an r5.xlarge as it gives me the best tradeoff between cost and performance. An r5.xlarge gives me 4 CPUs and 32GB of RAM.

SAP HANA 2.0, SAP HANA XSA, SAP HANA Learning, SAP HANA Tutorial and Material, SAP HANA Guides, SAP HANA Exam Prep, SAP HANA Prep

Accept the default settings on the Configure Instance tab.

SAP HANA 2.0, SAP HANA XSA, SAP HANA Learning, SAP HANA Tutorial and Material, SAP HANA Guides, SAP HANA Exam Prep, SAP HANA Prep

Increase the storage to a minimum of 150GB. I prefer 200GB and I prefer to use the General Purpose SSDs to avoid incurring costs associated with the premium storage options which are more expensive and incur costs even when the system is shutdown.

SAP HANA 2.0, SAP HANA XSA, SAP HANA Learning, SAP HANA Tutorial and Material, SAP HANA Guides, SAP HANA Exam Prep, SAP HANA Prep

Next, you can add tags if you wish. For our small environment we’ll skip this for now.

SAP HANA 2.0, SAP HANA XSA, SAP HANA Learning, SAP HANA Tutorial and Material, SAP HANA Guides, SAP HANA Exam Prep, SAP HANA Prep

In the security group configuration we will open the necessary ports to allow communication from our local machine to the SAP environment.

SAP HANA 2.0, SAP HANA XSA, SAP HANA Learning, SAP HANA Tutorial and Material, SAP HANA Guides, SAP HANA Exam Prep, SAP HANA Prep

Make sure to include all of the following ports:

TCP 22
TCP  80 
TCP  8090 
TCP  443 
TCP  4390 
TCP  51000-51500 
TCP  1128-1129 
TCP  39026-39033 
TCP  39040-39045 
TCP  39013 
TCP  39015 
TCP  39017 
TCP  53030 
TCP  53075 
TCP  59014 

Finally you will be able to review all configuration settings one last time. Choose Launch Instance when you are ready.

Access to your server will require a key. In this step you create a new key pair and download a copy (or use an existing key pair if you already have one). Be sure to store the key in a safe place!

SAP HANA 2.0, SAP HANA XSA, SAP HANA Learning, SAP HANA Tutorial and Material, SAP HANA Guides, SAP HANA Exam Prep, SAP HANA Prep

SAP HANA 2.0, SAP HANA XSA, SAP HANA Learning, SAP HANA Tutorial and Material, SAP HANA Guides, SAP HANA Exam Prep, SAP HANA Prep

Be sure to name your key pair something meaningful to you. Your server will take a few minutes to initialize but should be visible in the EC2 dashboard. The dashboard will show the IP address of your server. At this point, you can continue to use the IP address given but I prefer to associate an Elastic IP address with the instance and change my domain DNS entry (managed at GoDaddy) to point to the static IP address. This makes it much easier to SSH into the server for installation and maintenance tasks.

SSH


Now we need to make sure we can SSH into the server to continue the installation process. We start on our local machine where we downloaded the server key during the launch process.

Since the key is a sensitive file we need to adjust the permissions to reflect greater security using the chmod command. Then we add the key to the keychain using ssh-add. Finally, we ssh to our instance using the IP address or domain name (optional). Note the AWS default user is ec2-user.

Open a terminal session on your local machine and use the commands below. Be sure to use the name of the key file you specified before downloading the key pair.

cd Downloads
chmod 400 RADE-HANA.pem
ssh-add -k RADE-HANA.pem

ssh -i RADE-HANA.pem ec2-user@your-domain-or-ip.com

At this point you should have a working, accessible linux instance to serve as a foundation for your SAP HANA Express Install. You should also update your repositories with the following command:

sudo zypper update

SUDO Privileges


We’ll be using the sudo command throughout and need to make sure the necessary user accounts have sudo privileges.

sudo visudo

Find the two lines in the file that look like this:

Defaults targetpw   # ask for the password of the target user i.e. root

ALL   ALL=(ALL) ALL   # WARNING! Only use this together with ‘Defaults targetpw’!

and comment them out by adding the double pound sign in front.

Then add the following lines

ec2-user ALL=(ALL) NOPASSWD:ALL
hxeadm ALL=(ALL) NOPASSWD:ALL

Save the file by pressing ESC, then :wq, then ENTER.

Java Installation


We still need to install the Java runtime that we downloaded in the preparation phase. Using the same terminal session I will exit to my local machine and copy the Java .rpm file from my Downloads folder to the server.

exit

scp jre-8u231-linux-x64.rpm ec2-user@your-domain-or-ip.com:/tmp/jre-8u231-linux-x64.rpm

Connect to the server and begin the Java installation using the following commands:

ssh ec2-user@your-domain-or-ip.com

cd /tmp
sudo rpm -ivh jre-8u231-linux-x64.rpm

When Java completes, clean up the disk and exit back to your local machine:

sudo rm *.rpm
exit

HXEDownloadManager


Next we’ll copy the HXEDownloadManager_linux.bin file in our local Downloads folder to the server then make sure the file is executable. We’ll also create a folder on the server to store the downloads triggered by the installation process.

scp HXEDownloadManager_linux.bin ec2-user@your-domain-or-ip.com:/tmp/HXEDownloadManager_linux.bin

Connect to the server and change the file permissions

ssh ec2-user@your-domain-or-ip.com

cd /tmp
chmod +x HXEDownloadManager_linux.bin

Create a folder on the server for downloads and execute the download manager with the desired options for installation

cd /home/ec2-user
mkdir Downloads

cd /tmp
./HXEDownloadManager_linux.bin linuxx86_64 installer hxe.tgz hxexsa.tgz eadesigner.tgz shine.tgz eml.tgz apl.tgz sdi.tgz dwf.tgz

NOTE: I recommend NOT installing SAP HANA Streaming Analytics during the initial installation. Installing SAP HANA Streaming Analytics causes a conflict with openssl which is necessary to properly configure the SSL certificates for the server.  It will save you some trouble to install this component AFTER the server is securely accessible.

hxe.tgz HANA Express
hxexsa.tgz XSA Applications
shine.tgz SAP HANA Interactive Education
sdi.tgz Smart Data Integrator
hsa.tgz HANA Streaming Analytics
apl.tgz Automated Predictive Library
eml.tgz External Machine Learning
dwf.tgz Data Warehousing Foundation
eadesigner.tgz EA Designer

Once the downloads are complete we can extract the archives

cd /home/ec2-user/Downloads
tar vxf hxe.tgz
tar vxf hxexsa.tgz
tar vxf shine.tgz
tar vxf sdi.tgz
tar vxf hsa.tgz
tar vxf apl.tgz
tar vxf eml.tgz
tar vxf dwf.tgz
tar vxf eadesigner.tgz

Finally, we can begin the installation

sudo ./setup_hxe.sh

At this point, the installation should run attended for 90 minutes or so as it completes the setup process.

No comments:

Post a Comment