Overview

DataLake is a software component of ONAP that can systematically persist the events in DMaaP into supported Big Data storage systems. It has a Admin UI, where a system administrator configures which Topics to be monitored, and to which data storage to store the data. It is also used to manage the settings of the storage and associated data analytics tool. The second part is the Feeder, which does the data transfer work and is horizontal scalable. In the next release, R7, we will add the third component, Data Exposure Service (EDS), which will expose the data in the data storage via REST API for other ONAP components and external systems to consume. Each data exposure only requires simple configurations.

Architecture Diagram

Data Exposure Service will be available in R7.

Artefacts

Βlueprint (deployment artifact) : k8s-datalake-feeder.yaml, k8s-datalake-admin-ui.yaml

Docker image:

feeder, onap/org.onap.dcaegen2.services.datalakefeeder:1.0.0

admin UI, onap/org.onap.dcaegen2.services.datalakeadminui:1.0.1

Deployment Prerequisite/dependencies

Since datalake can log the message from the DMaap to several different external databases, such as Elasticsearch, Couch Base, MongoDB, Relational databases...etc. Once Datalake is successfully deployed, you can start to configure the external databases through our admin UI. The following sections will guide you to deploy datalake microservice, including cloudify blueprint upload, deployment, and un-deployment.

Deployment Steps

DL-handler consists of two pods- the feeder and admin UI. It can be deployed by using cloudify blueprint. Datalake can be easily deployed through DCAE cloudify manager. The following steps guides you launch Datalake though cloudify manager.

Log-in to the DCAE bootstrap POD's main container

First, we should find the bootstrap pod name through the following command and make sure that DCAE coudify manager is properly deployed.

Login to the DCAE bootstrap pod through the following command.

Login to the bootstrap pod
kubectl exec -it <DCAE bootstrap pod> /bin/bash -n onap

Validate blueprint

Validate Blueprint
cfy blueprints validate /blueprints/k8s-dl-handler.yaml

Upload the blueprint to cloudify manager.

Upload blueprint to cloudify manager
cfy blueprint upload -b datalake-feeder /bluerints/k8s-datalake-feeder.yaml
cfy blueprint upload -b datalake-admin-ui /blueprints/k8s-datalake-admin-ui.yaml

Verify Blueprint Upload

Verify Upload
cfy blueprint list

You can see the following returned message to show the blueprints have been correctly uploaded.

Verify Plugin versions in target Cloudify instance match to blueprint imports

If the version of the plugin used is different, update the blueprint import to match.

Verify Plugin version
cfy plugins list

Create Deployment

Here we are going to create deployments for both feeder and admin UI.

Input file
cfy deployments create -b datalake-feeder feeder-deploy
cfy deployments create -b datalake-admin-ui admin-ui-deploy

Launch Service

Next, we are going to launch the datalake.

Upload and deploy blueprint
cfy executions start -d feeder-deploy install
cfy executions start -d admin-ui-deploy install

To Un-deploy

Uninstall running component and delete deployment

Uninstall component
cfy uninstall feeder-deploy
cfy uninstall admin-ui-deploy 

Delete blueprint

Delete blueprint
cfy blueprints delete datalake-feeder
cfy blueprints deltet datalake-admin-ui

Deploy external database

Deploy MongoDB as the external database
docker run -d -p 27017:27017 --name mongodb mongo
docker start mongodb


  • No labels