summaryrefslogtreecommitdiffstats
path: root/components/datalake-handler/feeder
diff options
context:
space:
mode:
authorKate Hsuan <kate.hsuan@qct.io>2020-03-02 08:54:04 +0000
committerKate Hsuan <kate.hsuan@qct.io>2020-03-04 10:11:53 +0000
commit3034e7cd569faea033c9a309b3318c7e51c1ba9e (patch)
tree267e75a3b06a9404ee4455ea0420348440eda451 /components/datalake-handler/feeder
parentfdbe7434b8d9287223bc642cb5413f5eb0ed90d8 (diff)
Switch from cloudify helm plugin to cloudify/tosca.
1. Blueprint implementation. 2. Modify startup sequence. Issue-ID: DCAEGEN2-2098 Signed-off-by: Kate Hsuan <kate.hsuan@qct.io> Change-Id: I9d3d56565b0e997d3150eeef0891cc79bb0519ae
Diffstat (limited to 'components/datalake-handler/feeder')
-rw-r--r--components/datalake-handler/feeder/Dockerfile12
-rw-r--r--components/datalake-handler/feeder/src/assembly/init_db/db_scripts/init_db.sql142
-rw-r--r--components/datalake-handler/feeder/src/assembly/init_db/db_scripts/init_db_data.sql111
-rw-r--r--components/datalake-handler/feeder/src/assembly/init_db/scripts/db_init/10_check-db-exist30
-rw-r--r--components/datalake-handler/feeder/src/assembly/init_db/scripts/db_init/11_create-database25
-rw-r--r--components/datalake-handler/feeder/src/assembly/init_db/scripts/db_init/15_db-adduser34
-rw-r--r--components/datalake-handler/feeder/src/assembly/init_db/scripts/db_init/20_db-initdb25
-rw-r--r--components/datalake-handler/feeder/src/assembly/init_db/scripts/run.sh28
-rw-r--r--components/datalake-handler/feeder/src/assembly/run.sh14
-rw-r--r--components/datalake-handler/feeder/src/main/resources/application.properties4
10 files changed, 422 insertions, 3 deletions
diff --git a/components/datalake-handler/feeder/Dockerfile b/components/datalake-handler/feeder/Dockerfile
index 20444f97..e2606352 100644
--- a/components/datalake-handler/feeder/Dockerfile
+++ b/components/datalake-handler/feeder/Dockerfile
@@ -15,5 +15,17 @@ WORKDIR /home/datalake
COPY target/${JAR_FILE} /home/datalake/
COPY src/assembly/run.sh /home/datalake/
+WORKDIR /home/datalake/db_init
+ADD src/assembly/init_db/scripts/db_init .
+USER root
+RUN chmod 0755 ./*
+WORKDIR /home/datalake
+COPY src/assembly/init_db/db_scripts/init_db.sql .
+COPY src/assembly/init_db/db_scripts/init_db_data.sql .
+
+RUN apt update && \
+ apt install -y mariadb-client && \
+ apt install -y curl
+
CMD ["sh", "run.sh"]
diff --git a/components/datalake-handler/feeder/src/assembly/init_db/db_scripts/init_db.sql b/components/datalake-handler/feeder/src/assembly/init_db/db_scripts/init_db.sql
new file mode 100644
index 00000000..b363988d
--- /dev/null
+++ b/components/datalake-handler/feeder/src/assembly/init_db/db_scripts/init_db.sql
@@ -0,0 +1,142 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : DATALAKE
+* ================================================================================
+* Copyright 2019-2020 China Mobile
+*=================================================================================
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+* ============LICENSE_END=========================================================
+*/
+
+create database if not exists datalake;
+use datalake;
+
+CREATE TABLE `topic_name` (
+ `id` varchar(255) NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `db_type` (
+ `id` varchar(255) NOT NULL,
+ `default_port` int(11) DEFAULT NULL,
+ `name` varchar(255) NOT NULL,
+ `tool` bit(1) NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `db` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `database_name` varchar(255) DEFAULT NULL,
+ `enabled` bit(1) NOT NULL,
+ `encrypt` bit(1) DEFAULT NULL,
+ `host` varchar(255) DEFAULT NULL,
+ `login` varchar(255) DEFAULT NULL,
+ `name` varchar(255) DEFAULT NULL,
+ `pass` varchar(255) DEFAULT NULL,
+ `port` int(11) DEFAULT NULL,
+ `property1` varchar(255) DEFAULT NULL,
+ `property2` varchar(255) DEFAULT NULL,
+ `property3` varchar(255) DEFAULT NULL,
+ `db_type_id` varchar(255) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `FK3njadtw43ieph7ftt4kxdhcko` (`db_type_id`),
+ CONSTRAINT `FK3njadtw43ieph7ftt4kxdhcko` FOREIGN KEY (`db_type_id`) REFERENCES `db_type` (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `design_type` (
+ `id` varchar(255) NOT NULL,
+ `name` varchar(255) DEFAULT NULL,
+ `note` varchar(255) DEFAULT NULL,
+ `db_type_id` varchar(255) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `FKm8rkv2qkq01gsmeq1c3y4w02x` (`db_type_id`),
+ CONSTRAINT `FKm8rkv2qkq01gsmeq1c3y4w02x` FOREIGN KEY (`db_type_id`) REFERENCES `db_type` (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `design` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `body` text DEFAULT NULL,
+ `name` varchar(255) DEFAULT NULL,
+ `note` varchar(255) DEFAULT NULL,
+ `submitted` bit(1) DEFAULT NULL,
+ `design_type_id` varchar(255) NOT NULL,
+ `topic_name_id` varchar(255) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `FKo43yi6aputq6kwqqu8eqbspm5` (`design_type_id`),
+ KEY `FKabb8e74230glxpaiai4aqsr34` (`topic_name_id`),
+ CONSTRAINT `FKabb8e74230glxpaiai4aqsr34` FOREIGN KEY (`topic_name_id`) REFERENCES `topic_name` (`id`),
+ CONSTRAINT `FKo43yi6aputq6kwqqu8eqbspm5` FOREIGN KEY (`design_type_id`) REFERENCES `design_type` (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `kafka` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `broker_list` varchar(255) NOT NULL,
+ `consumer_count` int(11) DEFAULT 3,
+ `enabled` bit(1) NOT NULL,
+ `excluded_topic` varchar(1023) DEFAULT '__consumer_offsets,__transaction_state',
+ `group` varchar(255) DEFAULT 'datalake',
+ `included_topic` varchar(255) DEFAULT NULL,
+ `login` varchar(255) DEFAULT NULL,
+ `name` varchar(255) NOT NULL,
+ `pass` varchar(255) DEFAULT NULL,
+ `secure` bit(1) DEFAULT b'0',
+ `security_protocol` varchar(255) DEFAULT NULL,
+ `timeout_sec` int(11) DEFAULT 10,
+ `zk` varchar(255) NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `topic` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `aggregate_array_path` varchar(255) DEFAULT NULL,
+ `correlate_cleared_message` bit(1) NOT NULL DEFAULT b'0',
+ `data_format` varchar(255) DEFAULT NULL,
+ `enabled` bit(1) NOT NULL,
+ `flatten_array_path` varchar(255) DEFAULT NULL,
+ `login` varchar(255) DEFAULT NULL,
+ `message_id_path` varchar(255) DEFAULT NULL,
+ `pass` varchar(255) DEFAULT NULL,
+ `save_raw` bit(1) NOT NULL DEFAULT b'0',
+ `ttl_day` int(11) DEFAULT NULL,
+ `topic_name_id` varchar(255) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `FKj3pldlfaokdhqjfva8n3pkjca` (`topic_name_id`),
+ CONSTRAINT `FKj3pldlfaokdhqjfva8n3pkjca` FOREIGN KEY (`topic_name_id`) REFERENCES `topic_name` (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `map_db_design` (
+ `design_id` int(11) NOT NULL,
+ `db_id` int(11) NOT NULL,
+ PRIMARY KEY (`design_id`,`db_id`),
+ KEY `FKhpn49r94k05mancjtn301m2p0` (`db_id`),
+ CONSTRAINT `FKfli240v96cfjbnmjqc0fvvd57` FOREIGN KEY (`design_id`) REFERENCES `design` (`id`),
+ CONSTRAINT `FKhpn49r94k05mancjtn301m2p0` FOREIGN KEY (`db_id`) REFERENCES `db` (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `map_db_topic` (
+ `topic_id` int(11) NOT NULL,
+ `db_id` int(11) NOT NULL,
+ PRIMARY KEY (`db_id`,`topic_id`),
+ KEY `FKq1jon185jnrr7dv1dd8214uw0` (`topic_id`),
+ CONSTRAINT `FKirro29ojp7jmtqx9m1qxwixcc` FOREIGN KEY (`db_id`) REFERENCES `db` (`id`),
+ CONSTRAINT `FKq1jon185jnrr7dv1dd8214uw0` FOREIGN KEY (`topic_id`) REFERENCES `topic` (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `map_kafka_topic` (
+ `kafka_id` int(11) NOT NULL,
+ `topic_id` int(11) NOT NULL,
+ PRIMARY KEY (`topic_id`,`kafka_id`),
+ KEY `FKtdrme4h7rxfh04u2i2wqu23g5` (`kafka_id`),
+ CONSTRAINT `FK5q7jdxy54au5rcrhwa4a5igqi` FOREIGN KEY (`topic_id`) REFERENCES `topic` (`id`),
+ CONSTRAINT `FKtdrme4h7rxfh04u2i2wqu23g5` FOREIGN KEY (`kafka_id`) REFERENCES `kafka` (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
diff --git a/components/datalake-handler/feeder/src/assembly/init_db/db_scripts/init_db_data.sql b/components/datalake-handler/feeder/src/assembly/init_db/db_scripts/init_db_data.sql
new file mode 100644
index 00000000..bc377348
--- /dev/null
+++ b/components/datalake-handler/feeder/src/assembly/init_db/db_scripts/init_db_data.sql
@@ -0,0 +1,111 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : DATALAKE
+* ================================================================================
+* Copyright 2019 China Mobile
+*=================================================================================
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+* ============LICENSE_END=========================================================
+*/
+
+use datalake;
+
+INSERT INTO kafka(
+ `id`
+ ,`name`
+ ,`consumer_count`
+ ,`enabled`
+ ,`group`
+ ,`broker_list`
+ ,`included_topic`
+ ,`login`
+ ,`pass`
+ ,`secure`
+ ,`security_protocol`
+ ,`timeout_sec`
+ ,`zk`
+) VALUES (
+ 1
+ ,'main Kafka cluster' -- name - IN varchar(255)
+ ,3 -- consumer_count - IN int(11)
+ ,1 -- enabled - IN bit(1)
+ ,'dlgroup' -- group - IN varchar(255)
+ ,'message-router-kafka:9092' -- host_port - IN varchar(255)
+ ,'' -- included_topic - IN varchar(255)
+ ,'admin' -- login - IN varchar(255)
+ ,'admin_secret' -- pass - IN varchar(255)
+ ,0 -- secure - IN bit(1)
+ ,'SASL_PLAINTEXT' -- security_protocol - IN varchar(255)
+ ,10 -- timeout_sec - IN int(11)
+ ,'message-router-zookeeper:2181' -- zk - IN varchar(255)
+);
+
+use datalake;
+
+insert into db_type (`id`, `name`, tool) values ('CB', 'Couchbase', false);
+insert into db_type (`id`, `name`, tool) values ('ES', 'Elasticsearch', false);
+insert into db_type (`id`, `name`, tool,`default_port`) values ('MONGO', 'MongoDB', false, 27017);
+insert into db_type (`id`, `name`, tool) values ('DRUID', 'Druid', false);
+insert into db_type (`id`, `name`, tool) values ('HDFS', 'HDFS', false);
+insert into db_type (`id`, `name`, tool) values ('KIBANA', 'Kibana', true);
+insert into db_type (`id`, `name`, tool) values ('SUPERSET', 'Apache Superset', true);
+
+insert into db (`id`, `db_type_id`, `enabled`, `encrypt`, `name`,`host`,`login`,`pass`,`database_name`) values (1, 'CB', true, true, 'Couchbase 1','dl-couchbase','dl','dl1234','datalake');
+insert into db (`id`, `db_type_id`, `enabled`, `encrypt`, `name`,`host`) values (2, 'ES', true, true, 'Elasticsearch','dl-es');
+insert into db (`id`, `db_type_id`, `enabled`, `encrypt`, `name`,`host`,`port`,`database_name`) values (3, 'MONGO', true, true, 'MongoDB 1','dl-mongodb',27017,'datalake');
+insert into db (`id`, `db_type_id`, `enabled`, `encrypt`, `name`,`host`) values (4, 'DRUID', true, true, 'Druid','dl-druid');
+insert into db (`id`, `db_type_id`, `enabled`, `encrypt`, `name`,`host`,`login`) values (5, 'HDFS', true, true, 'Hadoop Cluster','dl-hdfs','dl');
+insert into db (`id`, `db_type_id`, `enabled`, `encrypt`, `name`,`host`) values (6, 'KIBANA', true, false, 'Kibana demo','dl-es');
+insert into db (`id`, `db_type_id`, `enabled`, `encrypt`, `name`,`host`) values (7, 'SUPERSET', true, false, 'Superset demo','dl-druid');
+
+insert into topic_name (`id`) values ('_DL_DEFAULT_');
+insert into topic_name (`id`) values ('unauthenticated.SEC_FAULT_OUTPUT');
+insert into topic_name (`id`) values ('unauthenticated.VES_MEASUREMENT_OUTPUT');
+insert into topic_name (`id`) values ('EPC');
+insert into topic_name (`id`) values ('HW');
+
+-- in production, default enabled should be off
+insert into `topic`(`id`, `topic_name_id`,`enabled`,`save_raw`,`ttl_day`,`data_format`) values (1, '_DL_DEFAULT_',1,0,3650,'JSON');
+
+insert into `topic`(`id`, `topic_name_id`,`correlate_cleared_message`,`enabled`, `message_id_path`,`data_format`)
+values (2, 'unauthenticated.SEC_FAULT_OUTPUT',1,1,'/event/commonEventHeader/eventName,/event/commonEventHeader/reportingEntityName,/event/faultFields/specificProblem,/event/commonEventHeader/eventId','JSON');
+
+insert into `topic`(id, `topic_name_id`,`enabled`, `aggregate_array_path`,`flatten_array_path`,`data_format`)
+values (3, 'unauthenticated.VES_MEASUREMENT_OUTPUT',1,
+'/event/measurementsForVfScalingFields/memoryUsageArray,/event/measurementsForVfScalingFields/diskUsageArray,/event/measurementsForVfScalingFields/cpuUsageArray,/event/measurementsForVfScalingFields/vNicPerformanceArray',
+'/event/measurementsForVfScalingFields/astriMeasurement/astriDPMeasurementArray/astriInterface',
+'JSON');
+
+insert into `topic`(`id`, `topic_name_id`,`enabled`, `flatten_array_path`,`data_format`)
+values (4, 'EPC',1, '/event/measurementsForVfScalingFields/astriMeasurement/astriDPMeasurementArray/astriInterface', 'JSON');
+
+insert into `topic`(`id`, `topic_name_id`,`enabled`, `aggregate_array_path`,`data_format`)
+values (5, 'HW',1,
+'/event/measurementsForVfScalingFields/memoryUsageArray,/event/measurementsForVfScalingFields/diskUsageArray,/event/measurementsForVfScalingFields/cpuUsageArray,/event/measurementsForVfScalingFields/vNicPerformanceArray',
+'JSON');
+
+
+insert into `map_db_topic`(`db_id`,`topic_id`) select db.id, topic.id from db_type, db, topic where db.db_type_id=db_type.id and db_type.tool=0;
+insert into `map_kafka_topic`(`kafka_id`,`topic_id`) select kafka.id, topic.id from kafka, topic;
+
+
+insert into design_type (`id`, `name`, `db_type_id`) values ('KIBANA_DB', 'Kibana Dashboard', 'KIBANA');
+insert into design_type (`id`, `name`, `db_type_id`) values ('KIBANA_SEARCH', 'Kibana Search', 'KIBANA');
+insert into design_type (`id`, `name`, `db_type_id`) values ('KIBANA_VISUAL', 'Kibana Visualization', 'KIBANA');
+insert into design_type (`id`, `name`, `db_type_id`) values ('ES_MAPPING', 'Elasticsearch Field Mapping Template', 'ES');
+insert into design_type (`id`, `name`, `db_type_id`) values ('DRUID_KAFKA_SPEC', 'Druid Kafka Indexing Service Supervisor Spec', 'DRUID');
+
+
+insert into design (`id`, `name`,`topic_name_id`, `submitted`,`body`, `design_type_id`) values (1, 'Kibana Dashboard on EPC test1', 'EPC', 0, 'body here', 'KIBANA_DB');
+
+insert into map_db_design (`design_id`,`db_id` ) values (1, 6);
diff --git a/components/datalake-handler/feeder/src/assembly/init_db/scripts/db_init/10_check-db-exist b/components/datalake-handler/feeder/src/assembly/init_db/scripts/db_init/10_check-db-exist
new file mode 100644
index 00000000..cdf8af50
--- /dev/null
+++ b/components/datalake-handler/feeder/src/assembly/init_db/scripts/db_init/10_check-db-exist
@@ -0,0 +1,30 @@
+#!/bin/bash
+#
+# ============LICENSE_START==========================================
+# ===================================================================
+# Copyright © 2020 QCT Property. All rights reserved.
+# ===================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END============================================
+#
+result=`mysql -qfsB -uroot -p$MYSQL_ROOT_PASSWORD -h $MYSQL_HOST -P $MYSQL_PORT -e "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME='datalake'" 2>&1`
+
+if [[ ! -z $result ]];
+then
+ echo "DATABASE ALREADY EXISTS"
+ touch /tmp/db_exist
+ exit 1
+else
+ echo "DATABASE DOES NOT EXIST"
+ exit 0
+fi \ No newline at end of file
diff --git a/components/datalake-handler/feeder/src/assembly/init_db/scripts/db_init/11_create-database b/components/datalake-handler/feeder/src/assembly/init_db/scripts/db_init/11_create-database
new file mode 100644
index 00000000..a43b0cf2
--- /dev/null
+++ b/components/datalake-handler/feeder/src/assembly/init_db/scripts/db_init/11_create-database
@@ -0,0 +1,25 @@
+#!/bin/bash
+#
+# ============LICENSE_START==========================================
+# ===================================================================
+# Copyright © 2020 QCT Property. All rights reserved.
+# ===================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END============================================
+#
+
+if [ -f "/tmp/db_exist" ]; then
+ exit 0
+fi
+
+cat /home/datalake/init_db.sql | mysql -uroot -p$MYSQL_ROOT_PASSWORD -h $MYSQL_HOST -P $MYSQL_PORT || exit 1
diff --git a/components/datalake-handler/feeder/src/assembly/init_db/scripts/db_init/15_db-adduser b/components/datalake-handler/feeder/src/assembly/init_db/scripts/db_init/15_db-adduser
new file mode 100644
index 00000000..c691751c
--- /dev/null
+++ b/components/datalake-handler/feeder/src/assembly/init_db/scripts/db_init/15_db-adduser
@@ -0,0 +1,34 @@
+#!/bin/bash
+#
+# ============LICENSE_START==========================================
+# ===================================================================
+# Copyright © 2020 QCT Property. All rights reserved.
+# ===================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END============================================
+#
+
+if [ -f "/tmp/db_exist" ]; then
+ exit 0
+fi
+
+echo "Creating datalake user" 1>/tmp/mariadb-datalake-user.log 2>&1
+
+mysql -uroot -p$MYSQL_ROOT_PASSWORD -p$MYSQL_ROOT_PASSWORD -h $MYSQL_HOST -P $MYSQL_PORT << 'EOF' || exit 1
+CREATE USER IF NOT EXISTS 'dl';
+GRANT USAGE ON *.* TO 'dl'@'%' IDENTIFIED BY 'dl1234';
+GRANT SELECT, INSERT, UPDATE, DELETE, EXECUTE, SHOW VIEW ON `datalake`.* TO 'dl'@'%';
+FLUSH PRIVILEGES;
+EOF
+
+echo "Created so user . . ." 1>>/tmp/mariadb-datalake-user.log 2>&1
diff --git a/components/datalake-handler/feeder/src/assembly/init_db/scripts/db_init/20_db-initdb b/components/datalake-handler/feeder/src/assembly/init_db/scripts/db_init/20_db-initdb
new file mode 100644
index 00000000..ad8f6f89
--- /dev/null
+++ b/components/datalake-handler/feeder/src/assembly/init_db/scripts/db_init/20_db-initdb
@@ -0,0 +1,25 @@
+#!/bin/bash
+#
+# ============LICENSE_START==========================================
+# ===================================================================
+# Copyright © 2020 QCT Property. All rights reserved.
+# ===================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END============================================
+#
+
+if [ -f "/tmp/db_exist" ]; then
+ exit 0
+fi
+
+cat /home/datalake/init_db_data.sql | mysql -uroot -p$MYSQL_ROOT_PASSWORD -h $MYSQL_HOST -P $MYSQL_PORT || exit 1
diff --git a/components/datalake-handler/feeder/src/assembly/init_db/scripts/run.sh b/components/datalake-handler/feeder/src/assembly/init_db/scripts/run.sh
new file mode 100644
index 00000000..e1e59252
--- /dev/null
+++ b/components/datalake-handler/feeder/src/assembly/init_db/scripts/run.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+# ============LICENSE_START==========================================
+# ===================================================================
+# Copyright (c) 2020 QCT
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#============LICENSE_END============================================
+
+
+echo "start init db ..."
+
+/bin/run-parts /app/db_init
+
+echo "finish init db"
+
+
+curl -X PUT -H "contain-type:application/json" http://consul:8500/v1/kv/k8s-datalake -d "{\"mysql_host\": \"$MYSQL_HOST\", \"mysql_password\": \"$MYSQL_ROOT_PASSWORD\", \"mysql_port\": \"$MYSQL_PORT\", \"presto_host\": \"$PRESTO_HOST\"}"
+
diff --git a/components/datalake-handler/feeder/src/assembly/run.sh b/components/datalake-handler/feeder/src/assembly/run.sh
index 377f208a..a061bfcf 100644
--- a/components/datalake-handler/feeder/src/assembly/run.sh
+++ b/components/datalake-handler/feeder/src/assembly/run.sh
@@ -1,3 +1,15 @@
#!/bin/sh
-java -jar feeder-1.0.0-SNAPSHOT.jar \ No newline at end of file
+echo "start init db ..."
+
+/bin/run-parts /home/datalake/db_init
+
+echo "finish init db"
+
+cmd=`ls feeder-*.jar`
+if [ -z "$cmd" ]; then
+ echo "STRING is empty"
+ sleep 10000
+else
+ java -jar $cmd
+fi
diff --git a/components/datalake-handler/feeder/src/main/resources/application.properties b/components/datalake-handler/feeder/src/main/resources/application.properties
index c7a040cf..bc24cdb2 100644
--- a/components/datalake-handler/feeder/src/main/resources/application.properties
+++ b/components/datalake-handler/feeder/src/main/resources/application.properties
@@ -20,7 +20,7 @@ spring.jpa.hibernate.ddl-auto=none
spring.jpa.show-sql=false
#spring.datasource.driver-class-name=com.mysql.jdbc.Driver
-spring.datasource.url=jdbc:mariadb://dl-mariadb:3306/datalake?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=UTF-8
+spring.datasource.url=jdbc:mariadb://mariadb-galera:3306/datalake?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=UTF-8
spring.datasource.username=dl
spring.datasource.password=dl1234
@@ -70,4 +70,4 @@ kibanaPort=5601
esTemplateMappingApi=/_template/
#####################Elasticsearch port
-esPort=9200 \ No newline at end of file
+esPort=9200