summaryrefslogtreecommitdiffstats
path: root/docs/sections/services/datalake-handler/installation.rst
blob: e9215c29c65993c34c0c5874736c9c6de803f756 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
.. _dl-installation:

Deployment Steps

################
DL-handler consists of three pods- the feeder, admin UI and des. 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.

Pre-requisite
-------------
Make sure dcae postgres is properly deployed and functional.
An external database, such as Elasticsearch and MongoDB is deployed. Install mongodb through the following command.

     #docker run -itd --restart=always --name dl-mongo -p 27017:27017 mongo

For DES service deployment, presto service is deployed. Here is a sample how presto deploy in the environment.
    Build a presto image:
      The package of presto version we are using is v0.0.2:presto-v0.0.2.tar.gz 

        #docker build -t presto:v0.0.2 .
        #docker tag presto:v0.0.2 registry.baidubce.com/onap/presto:v0.0.2
        #docker push registry.baidubce.com/onap/presto:v0.0.2

    Note: Replace the repository path with your own repository. 
    
    Install presto service:

        #kubectl -n onap run dl-presto --image=registry.baidubce.com/onap/presto:v0.0.2 --env="MongoDB_IP=192.168.235.11" --env="MongoDB_PORT=27017" 
        #kubectl -n onap expose deployment dl-presto --port=9000 --target-port=9000 --type=NodePort

    Note: MonoDB_IP and Mongo_PORT you can replace this two values with your own configuration.

After datalake getting deployed, the admin UI can be used to configure the sink database address and credentials.

Log-in to the DCAE Bootstrap POD
--------------------------------

First, we should find the bootstrap pod name through the following command and make sure that DCAE coudify manager is properly deployed.
  .. image :: ./images/bootstrap-pod.png

Login to the DCAE bootstrap pod through the following command.
  .. code-block :: bash

     #kubectl exec -it <DCAE bootstrap pod> /bin/bash -n onap

Validate Blueprint
------------------
Before the blueprints uploading to Cloudify manager, the blueprints shoule be validated first through the following command.
  .. code-block :: bash

    #cfy blueprint validate /bluerints/k8s-datalake-feeder.yaml
    #cfy blueprint validate /blueprints/k8s-datalake-admin-ui.yaml
    #cfy blueprint validate /blueprints/k8s-datalake-des.yaml

Upload the Blueprint to Cloudify Manager.
-----------------------------------------
After validating, we can start to proceed blueprints uploading.
  .. code-block :: bash

     #cfy blueprint upload -b dl-feeder /bluerints/k8s-datalake-feeder.yaml
     #cfy blueprint upload -b dl-admin-ui /blueprints/k8s-datalake-admin-ui.yaml
     #cfy blueprint upload -b des /blueprints/k8s-datalake-des.yaml

Verify Uploaded Blueprints
--------------------------
Using "cfy blueprint list" to verify your work.
  .. code-block :: bash

     #cfy blueprint list

You can see the following returned message to show the blueprints have been correctly uploaded.
  .. image :: ./images/blueprint-list.png


Verify Plugin Versions
----------------------
If the version of the plugin used is different, update the blueprint import to match.
  .. code-block :: bash

     #cfy plugins list

Create Deployment
-----------------
Here we are going to create deployments for both feeder and admin UI.
  .. code-block :: bash

     #cfy deployments create -b dl-feeder feeder-deploy
     #cfy deployments create -b dl-admin-ui admin-ui-deploy
     #cfy deployments create -b des des

Launch Service
--------------
Next, we are going to launch the datalake.
  .. code-block :: bash

     #cfy executions start -d feeder-deploy install
     #cfy executions start -d admin-ui-deploy install
     #cfy executions start -d des install


Verify the Deployment Result
----------------------------
The following command can be used to list the datalake logs.

  .. code-block :: bash
  
     #kubectl logs <datalake-pod> -n onap

The output should looks like.
    .. image :: ./images/feeder-log.png

The des output should looks like.
    .. image :: ./des-log.png

If you find any Java exception from log, make sure that the external database and datalake configuration are properly configured.
Admin UI can be used to configure the external database configuration.


Uninstall
---------
Uninstall running component and delete deployment
  .. code-block :: bash

     #cfy uninstall feeder-deploy
     #cfy uninstall admin-ui-deploy
     #cfy uninstall des

Delete Blueprint
----------------
  .. code-block :: bash

     #cfy blueprints delete dl-feeder
     #cfy blueprints delett dl-admin-ui
     #cfy blueprints delete des