- Alibaba Cloud Basic Concepts
- Deployment Architecture
- Setup Alibaba Cloud Enviroment
- Prepare Installation Enviroment
- SAP Data Hub Installation
|Version||Revision Date||Types Of Changes||Effective Date|
SAP Data Hub lets you build data-driven processes and pipelines across complex enterprise landscapes with a unified governance,
SAP Data Hub fulfills the following requirements:
- Enterprise-wide data insight from diverse landscapes, including both big data and enterprise data stores.
- The need for ingestion, transformation, and processing capabilities within data lakes and big data stores.
- Manage complex system landscapes with differing security and privacy requirements.
This series of tutorials describe how to use SAP Data Hub on Alibaba Cloud. The content is suitable for the reader who has basic knowledge of SAP enterprise product and Alibaba Cloud, planning to apply SAP Data Hub on Alibaba Cloud.
Alibaba Cloud is built on a global infrastructure providing all kinds of IaaS products and services. Alibaba Could services are available to use in different geographical regions across the globe. Before deploy your SAP Data Hub on Alibaba Cloud, following basic knowledge must be understood well:
- Alibaba Cloud Elastic Compute Service (ECS)
Alibaba Cloud Elastic Compute Service (ECS) is a web service that provides resizable compute capacity in the cloud. Its simple web service interface allows you to obtain and configure computing capacity with minimal effort. You are able to quickly scale capacity up and down as your computing requirements change, and you only pay for capacity that you actually need.
You can use the standard Alibaba Cloud methods to deploy your ECS instances on Alibaba Cloud platform, including ECS Console (the Cloud Platform Console web UI) and REST API. You can read the following pages to get more useful information.
Alibaba Cloud Block Storage (Cloud Disk) provides persistent block-level storage volumes for use with Alibaba Cloud ECS instance on the Alibaba Cloud Platform. Cloud Disk volumes provide the consistent and low-latency performance needed to run your workloads. With Cloud Disk, you can scale your usage up or down within minutes – all while paying a low price for only what you provision.
- Alibaba Cloud Virtual Private Cloud (VPC)
Virtual Private Cloud (VPC) creates an isolated network environment for users on Alibaba Cloud. You can select an IP address range, divide networks, and configure the routing list and gateway.SAP NetWeaver and the Alibaba Cloud services work together in particular ways to deliver combined business application and infrastructure capabilities to our customers.
- Alibaba Object Storage Service (OSS)
Alibaba Cloud Object Storage Service (OSS) is a network-based data access service. OSS enables you to store and retrieve structured and unstructured data, including text files, images, audios, and videos.
The following figure shows the minimum sizing architecture of SAP Data Hub deploying on Alibaba Cloud for development or testing environment. (notes: If you want to run SAP Data Hub for a formal production, please refer to SAP Data Hub Sizing Guide url at: https://help.sap.com/viewer/1f833eab23244ef2ad66fe982dd14873/2.7.latest/en-US)
- A VPC network on Alibaba Cloud
- An installation host (an ECS instance) with public IP address, 100M bandwidth, 4 GB main memory, 2 cores, 200 GB disk. Because of existing Alibaba container registry service could not meet SAP Data Hub installation requirement, a local private docker registry is required.
Notes: It is possible to have the private docker registry on any node which has internet access. In this tutorial, the private docker registry runs on the installation host to save ECS resource. For the details, refer to docs at https://help.sap.com/viewer/e66c399612e84a83a8abe97c0eeb443a/2.7.latest/en-US/40cc1c6cd72546378182f0de584ced05.html
- A kubernetes cluster with 3 worker nodes, 32 GB main memory, 4 cores, 100 GB disk. For the details, refer to docs at https://help.sap.com/viewer/e66c399612e84a83a8abe97c0eeb443a/2.7.latest/en-US/7e2a9bf62ec94e9694648e2b5d2ce882.html
- A load balancer service to expose the external URL of SAP Data Hub launchpad.
In Alibaba Cloud console, click ‘Virtual Private Cloud’. Choose the region and click ‘create VPC’ on top of the page to enter VPC creation page. Region selection should be considered based on the latency requirement of your business workload. In this tutorial “China (Zhangjiakou)” is selected. Input the VPC name and VSwitch name, choose VSwitch Zone, then click ‘OK’.Create VSwitch:
In Alibaba Cloud console, click ‘Elastic Compute Service’. In ECS overview page, click ‘Create Instance’ as below
Create an instance with following configuration:
|OS Image||Public image, CentOS, 7.6 64-bit|
Afterwards, you will have one ECS created as below:
In Alibaba Cloud console, click ‘Container Service for Kubernetes’. Click ‘Create Kubernetes Cluster’ on top of the ‘Clusters’ page to enter kubernetes service creation wizard. Select ‘Standard Managed Cluster’ and click ‘Create’ as below:Then input Cluster Name. Select same Region, VPC and VSwitch that used for Installation Host. In our example, we use below parameter and value for cluster creation.
|Kubernetes||1.14.8-aliyun.1 (notes: not earlier than this edition should be fine)|
|Worker Instance||Create Instance|
|Instance type||x86-Architecture, 4 Cores 32G (This tutorial chooses ecs.r5.xlarge)|
|System Disk||Ultra Disk (or Standard SSD would perform better), 100GiB|
|Operating System||CentOS 7.6|
|Configure SNAT||Configure SNAT for VPC|
Next action is to setup the connection between the installation host and the cluster.
Go to the cluster detail page which we have just created and click ‘Nodes’, then click any node of the list.
Click ‘Security Groups’ and save the Security Group ID
In Alibaba Cloud console, click ‘Object Storage Service’. Then click ‘Create Bucket’ on the right side of the page. Input the Bucket Name and Region, choose default for other options. Remind the Internet Access of the Endpoint, which will be used with your AccessKeyId and AccessKeySecret during the setup process.
After finish above steps, you should be able to connect to the installation host with its public IP and then you can use private IP of the nodes in the cluster for SSH logon.
Install docker on installation host according tohttps://kubernetes.io/docs/setup/production-environment/container-runtimes/#docker. In our example, following commands are executed:
# Install Docker CE
## Set up the repository
### Install required packages.
yum install yum-utils device-mapper-persistent-data lvm2
### Add Docker repository.
## Install Docker CE.
yum update && yum install docker-ce
## Create /etc/docker directory.
# Setup daemon.
cat > /etc/docker/daemon.json <<EOF
mkdir -p /etc/systemd/system/docker.service.d
# Restart Docker
systemctl restart docker
- On the installation host, run below command:
docker run -d -p 5000:5000 --restart always --name registry registry:2
- For all worker nodes and the installation host, log on the machine(by SSH) to add folloing line to file /etc/docker/daemon.json file in order to permit insecure docker registry access.
- Restart docker service on each node and installation host to make the change take effect:
Now you need to install kubectl on the installation host as below:
- Download and install kubectl according to https://kubernetes.io/docs/tasks/tools/install-kubectl/. Make sure the version of kubectl is same to the version of Kubernetes (1.14.8 in our example).
#To download a version 1.14.8 version
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.14.8/bin/linux/amd64/kubectl
#make the kubectl binary executable
chmod +x ./kubectl
#Move the binary into your PATH
sudo mv ./kubectl /usr/local/bin/kubectl
- In case you met error as The connection to the server
was refused - did you specify the right host or port?, please go to the cluster you created and copy the kubeconfig content to ~/.kube/config on installation host.
- After the configuration is done, kubectl can be used to access Kubernetes clusters from installation host as below:
Download and install helm 2.14 on the installation host as below:
tar -xzvf helm-v2.14.3-linux-amd64.tar.gz
mv helm /usr/local/bin/helm
- Your S-User must be authorized to access the SAP Support Portal at https://launchpad.support.sap.com/#/softwarecenter/.
- Download the latest version of the DHFOUNDATION07*.ZIP file, transfer it to your installation host, and extract it. You can download DHFOUNDATION07*.ZIP from the following path: https://launchpad.support.sap.com/#/softwarecenter Installations & Upgrades > By Alphabetical Index (A-Z) > D > SAP DATA HUB > SAP DATA HUB 2 > SAP DATA HUB - FOUNDATION 2 > DHFOUNDATION07_
On the installation host, unpack DHFOUNDATION07_*.ZIP file and change to the slplugin/workdir directory then run setup scripts:
Setup configurations by your option, we use below values in our example.
The whole process for setup will run for about 50 minutes. At last, you can see the installation finished successfully as below:
In Alibaba Cloud console, click ‘Container Service for Kubernetes’. Then from ‘Ingress and Load Balancing’, click ‘Services’. Select the cluster, and select the namespace created during the setup process. Then click ‘Create’ to create a new Service.
A new LoadBalancer Service will be created, find out the service (launchpad) and get external IP from ‘ExternalEndpoint’ column.
Access Data Hub launchpad by: https://launchpad_ExternalEndpoint_ip. Use the Initial Tenant and the Initial Tenant User created during the setup process to logon.
After successfully logon, you should be able to see following page:
In Alibaba Cloud console, click ‘Container Service for Kubernetes’. Then from ‘Ingress and Load Balancing’, click ‘Ingresses’. Select the cluster, and select the namespace created during the setup process. Then click ‘Create’ to create an Ingress.
Provide configuration parameters
- Domain: a domain name is required which should be prepared by users in advance.
- Services: ‘vsystem’ for Service Name and ‘8797’ for Service Port.
- Enable TLS: select the secret which should be created in kubernetes using TLS certificate prepared by users in advance
It may take a few minutes for the ingress to get a backend address.
After the external address appears, update your DNS to add an entry to associate the ingress external IP to the domain your provided above.
Access Data Hub launch pad by: https://