Skip to Content

In my documentation I’ll explain how install/ configure SAP Hana MDC with Dynamic Tiering and deploy SAP Hana Data Warehouse Foundation 1.0 in order to support data management and distribution within my landscape including Hadoop (spark) and Sybase IQ.

For my setup I’ll use my own lab on Vmware Vsphere 6.0, run SAP Hana revision 112.02 and use Sybase IQ and Hadoop HDFS stack 2.7.2.

I’ll will create a new environment by using vm template explain in my previous documentation.

Disclaimer: My deployment is only for test purpose, I make the security simple from a network perspective in order to realize this configuration and use open source software.

In order execution


  • Install Hana in MDC mode
  • Connect tenant database to IQ and Hadoop over SDA
  • Install Dynamic Tiering
  • Setup Dynamic Tiering for Tenant database
  • Install SAP Hana Data Warehouse Foundation
  • Create external storage
  • Move table to external source
  • Query tables from external

Guide used

SAP HANA Multitenant Database Containers

SAP HANA Dynamic Tiering: Administration Guide

SAP HANA Data Warehousing Foundation Installation Guide

SAP HANA Data Warehousing Foundation 1.0 Planning PAM

Note used

2225582 – SAP HANA Dynamic Tiering SPS 11 Release Note

2092669 – Release Note SAP HANA Data Warehousing Foundation

2290350 – Spark Controller Compatibility Matrix

2183717 – Data Type Support for Extended Tables

2290922 – Unsupported Features and Datatypes for a Spark Destination

Link used

Help SAP Hana

High Level Architecture overview

/wp-content/uploads/2016/05/1_948640.jpg

From a high level architecture point of view I’ll deploy 4 vms all registered in my internal DNS

  • vmhana01 – master hana node multi-tenant
  • vmhana07 – dynamic tiering worker node
  • vmiq01 – Sybase IQ 16.0
  • Hadoop – Horthonworks Haddop HDFS stack 2.7.2

Detail overview

/wp-content/uploads/2016/05/2_948644.jpg

From a detail point of view, my Hana MDC database will be setup with one tenant database (TN1) connected over SDA to Sybase IQ and Hadoop by Spark controller.

The TN1 database will have DWF 1.0 deployed on it and will be configured with the DT host as a dedicated service.

The dynamic tiering host share the /hana/shared file system with the vmhana01 host in order to be installed with HDT database.

Install Hana in MDC mode

I my previous documentation I have already explain how to install and configure Hana in MDC mode by command line and sql statement.

I’ll re-explain how to do it this time by using the graphical tool (hdblcmgui) and setup tenant database by the Hana cockpit.

My media downloaded I’m ready to start

Note : I’ll just capture the important screen

/wp-content/uploads/2016/05/3_948646.jpg

/wp-content/uploads/2016/05/4_948649.jpg

Note: I do my system as a single, because I’ll add my DT host after in my process

/wp-content/uploads/2016/05/5_948650.jpg

Note: Dynamic Tiering doesn’t support high tenant isolation.

/wp-content/uploads/2016/05/6_948651.jpg

/wp-content/uploads/2016/05/8_948652.jpg

My system is now up and running

/wp-content/uploads/2016/05/9_948653.jpg

The system ready, from the cockpit I’ll create my tenant database

/wp-content/uploads/2016/05/10_948676.jpg

/wp-content/uploads/2016/05/11_948716.jpg

/wp-content/uploads/2016/05/12_948717.jpg

My tenant is now up and running

/wp-content/uploads/2016/05/14_948719.jpg

Now from a network perspective if I want to access my tenant database cockpit some change needs to be done at the system database layer

From the configuration panel filter on “xsengine.ini” and open the “public_urls” parameter

/wp-content/uploads/2016/05/13_948720.jpg

Double click on the http_url or https_url to setup the url (alias) access of the tenant database

/wp-content/uploads/2016/05/15_948721.jpg

Once done you can see that the url to access the tenant TN1 database is setup

/wp-content/uploads/2016/05/16_948722.jpg

Note: make sure if you are working with a DNS that the alias is registered, if you are not using a DNS enter the entry into the /etc/hosts of Hana

/wp-content/uploads/2016/05/17_948723.jpg

/wp-content/uploads/2016/05/18_948724.jpg

My alias added I can access the cockpit

/wp-content/uploads/2016/05/19_948725.jpg

Connect tenant database to Sybase IQ and Hadoop over SDA

My tenant database is now running I need to connect it to remote source to store my aging data, let start with my IQ database, before create the connection in SDA install and set the lib on Hana server.

To create my connection I will use the following statement:

create remote source IQHOMELAB adapter iqodbc configuration ‘Driver=libdbodbc16_r.so;ServerName=IQLAB;CommLinks=tcpip(host=vmiq01:1113)’ with CREDENTIAL TYPE ‘PASSWORD’ USING ‘user=iqhomelab;password=xxxxx’;

/wp-content/uploads/2016/05/20_948726.jpg

My IQ connection is working I can add the other on Hadoop over Spark controller

Install Dynamic Tiering

Install dynamic tiering is done in 2 part, you need to first install the add-on component and then add the host which will execute the query, this can be done in one step.

Note: before to start the installation make sure the necessary folder or file system are created

/wp-content/uploads/2016/05/22_948727.jpg

And the /hana/shared file system is mounted on the dynamic tiering host

/wp-content/uploads/2016/05/22_1_948731.jpg

The installation can be done from graphical interface, command line or web interface for my documentation I’ll use the second option (command line) since last I did by web interface

/wp-content/uploads/2016/05/23_948732.jpg

/wp-content/uploads/2016/05/24_948733.jpg

Once the installation completed we can see now the Dynamic Tiering installed but not configured yet

/wp-content/uploads/2016/05/25_948737.jpg

From a service perspective the DT appear as a “utility” from the SYSTEMDB hosts tab and is not visible for tenant database

/wp-content/uploads/2016/05/26_948738.jpg

Setup Dynamic Tiering for tenant database

Make the setup of DT for tenant database consist to make the DT service (esserver) visible to tenant database. Keep in consideration that DT and tenant database work as 1:1

The first step is to modify properties in the global.ini file to prepare resources on each tenant database to support SAP HANA dynamic tiering.

On the SYSTEM database run the following SQL to enable the tenant database to use DT functionalities:

ALTER SYSTEM ALTER CONFIGURATION ( ‘global.ini’, ‘SYSTEM’ ) SET( ‘customizable_functionalities’, ‘dynamic_tiering’ ) = ‘true’

/wp-content/uploads/2016/05/27_948739.jpg

And check if the parameter is set to “true” in the global.ini

/wp-content/uploads/2016/05/28_948740.jpg

The next step will be to isolate the “log” and the “data” of the tenant database for DT, to do so I will first create at OS layer two specific directory which belong to my tenant DB “TN1”

/wp-content/uploads/2016/05/29_948741.jpg

And run the two following SQL statement to make is active:

ALTER SYSTEM ALTER CONFIGURATION ( ‘global.ini’, ‘DATABASE’ , ‘TN1’ )

SET( ‘persistence’, ‘basepath_datavolumes_es’) = ‘/hana/data_es/TN1’ WITH RECONFIGURE

ALTER SYSTEM ALTER CONFIGURATION ( ‘global.ini’, ‘DATABASE’ , ‘TN1’ )

SET( ‘persistence’, ‘basepath_logdatavolumes_es’) = ‘/hana/log_es/TN1’ WITH RECONFIGURE

/wp-content/uploads/2016/05/30_948742.jpg

Then check in the global.ini

/wp-content/uploads/2016/05/31_948743.jpg

The preparation completed I can now provision the DT service to my tenant DB by running the following SQL command at the SYSTEMDB layer:

ALTER DATABASE TN1 ADD ‘esserver’

TN1 service before the DT provisioning

/wp-content/uploads/2016/05/32_948744.jpg

After the provisioning we can that DT is now available to TN1

/wp-content/uploads/2016/05/33_948745.jpg

Note: after the service (esserver) affected to the tenant database, it’s no longer visible to the SYSTEMDB

/wp-content/uploads/2016/05/34_948746.jpg

The configuration ready, I need to deploy the dynamic tiering delivery unit in to TN1 in order to administrate it. From modeler perspective select your tenant DB and select the HANA_TIERING.tgz and HDC_TIERING.tgz file from server to be imported.

/wp-content/uploads/2016/05/35_948747.jpg

/wp-content/uploads/2016/05/36_948748.jpg

/wp-content/uploads/2016/05/37_948752.jpg

Once the DU imported to the tenant I assign the necessary role to my user

/wp-content/uploads/2016/05/39_948753.jpg

Now done I can access the cockpit and finish the configuration of it

/wp-content/uploads/2016/05/41_948754.jpg

/wp-content/uploads/2016/05/42_948755.jpg

Once successfully created we can check at os layer if the data are written at the correct place

/wp-content/uploads/2016/05/43_948756.jpg

Dynamic Tiering on tenant database completed, I can start the deployment DWF

/wp-content/uploads/2016/05/44_948757.jpg

Install SAP Hana Data Warehouse Foundation

SAP DWF content is delivered in software components, each software component contains a functional delivery unit (independent delivery units) and a language delivery unit.

  • Functional delivery units provide core services
  • SAP HANA Data Warehousing Foundation applications
  • Language delivery units
  • Documentation for the applications

Once the DWF zip file is downloaded store it but do not decompress it, form the tenant database cockpit load the zip file in order to install the new software

/wp-content/uploads/2016/05/45_948761.jpg

Run the installation

/wp-content/uploads/2016/05/46_948762.jpg

The component installed now, in order to configure SAP HANA Data Warehousing Foundation some parameter needs to be added at the xsengine.ini of the tenant database.

From the SYSTEMDB expand the xsengine.ini and add the following parameter and value

/wp-content/uploads/2016/05/47_948763.jpg

Data Distribution Optimizer and Data Lifecycle Manager use this mechanism use SQL statements from server-side JavaScript application when generating and executing redistribution plans in Data Distribution Optimizer.

To enable this functionality, I need to enable it from the XS Artifact Administration of my tenant database.

Located the two component sap.hdm.ddo.sudo and sap.hdm.core.sudo and activate them

/wp-content/uploads/2016/05/48_948767.jpg

/wp-content/uploads/2016/05/49_948768.jpg

Now activated I can provide the necessary role to my user so I can administrate DWF from the cockpit

Notre: I gave my account all admin role, but in real work it won’t happen 😉

/wp-content/uploads/2016/05/50_948769.jpg

And now from the cockpit I can see it at the following url:

http://<tenant>:<port>/sap/hdm/dlm/index.html

http://<tenant>:<port>/sap/hdm/ddo/index.html

/wp-content/uploads/2016/05/51_948773.jpg

/wp-content/uploads/2016/05/52_948774.jpg

Finally generate default schema for Generated Objects and roles needed for Data Lifecycle Manager by the following statement:

call “SAP_HDM_DLM”.”sap.hdm.dlm.core.db::PREPARE_BEFORE_USING”();

/wp-content/uploads/2016/05/52_1_948775.jpg

/wp-content/uploads/2016/05/52_2_948779.jpg

The component in place i can now start the configuration to move tables to external storage.

See Part II

To report this post you need to login first.

7 Comments

You must be Logged on to comment or reply to a post.

  1. Ashok Babu Kumili

    Hello,

    A great place to understand “SAP HANA Dynamic Tiering Set-up” . Thanks for the images used. They are very helpful. This is a great way to go.

    Thank you. Regards-Ashok

    (0) 
  2. Colin Terry

    Hi Williams,

    I’ve been following a number of your excellent blogs, and your use of FreeNAS as a storage server for HANA.

    I’m trying to replicate this scenario, and have successfully managed to create NFS shares for the various HANA mount points in freeNAS. However I’m now getting HANA installation errors when installing the HANA server, with error messages saying that it is unable to change owner on the HANA folders. This is obviously down to the permissions I’ve used on the various volumes/datasets in freeNAS.

    Would you be able to share what permissions/users you use on the various volumes/datasets/shares in freeNAS to allow for a successful HANA installation?

    Thanks,

    Colin

    (0) 

Leave a Reply