diff options
author | Kai <lukai@chinamobile.com> | 2020-09-24 14:56:15 +0800 |
---|---|---|
committer | LUKAI <lukai@chinamobile.com> | 2020-09-27 01:35:05 +0000 |
commit | fb1744701c35801e4dc7ea415c7f9eecb88c16a2 (patch) | |
tree | 93eeca65e073dc88528974bb53cf33433d5aa30f /components/datalake-handler | |
parent | a66d22fb626d64a52f0eb1b473253f4de550b968 (diff) |
des deployment configuration
Issue-ID: DCAEGEN2-2258
Signed-off-by: Kai Lu <lukai@chinamobile.com>
Change-Id: If229c69ff2198eeb793441d9bc96fed4d3b4b54c
Diffstat (limited to 'components/datalake-handler')
-rw-r--r-- | components/datalake-handler/des/Dockerfile | 7 | ||||
-rw-r--r-- | components/datalake-handler/des/src/assembly/init_db/db_scripts/init_db.sql (renamed from components/datalake-handler/des/src/assembly/init_db/scripts/init_db.sql) | 0 | ||||
-rw-r--r-- | components/datalake-handler/des/src/assembly/init_db/db_scripts/init_db_data.sql (renamed from components/datalake-handler/des/src/assembly/init_db/scripts/init_db_data.sql) | 0 | ||||
-rw-r--r-- | components/datalake-handler/des/src/assembly/init_db/scripts/db_init/10_check-db-exist | 30 | ||||
-rw-r--r-- | components/datalake-handler/des/src/assembly/init_db/scripts/db_init/11_create-database | 25 | ||||
-rw-r--r-- | components/datalake-handler/des/src/assembly/init_db/scripts/db_init/15_db-adduser | 34 | ||||
-rw-r--r-- | components/datalake-handler/des/src/assembly/init_db/scripts/db_init/20_db-initdb | 25 | ||||
-rw-r--r-- | components/datalake-handler/des/src/assembly/init_db/scripts/run.sh | 28 |
8 files changed, 146 insertions, 3 deletions
diff --git a/components/datalake-handler/des/Dockerfile b/components/datalake-handler/des/Dockerfile index 18c4db8e..4fcc7eed 100644 --- a/components/datalake-handler/des/Dockerfile +++ b/components/datalake-handler/des/Dockerfile @@ -33,12 +33,12 @@ COPY target/${JAR_FILE} /home/datalake/ COPY src/assembly/run.sh /home/datalake/ WORKDIR /home/datalake/db_init -ADD src/assembly/init_db/scripts . +ADD src/assembly/init_db/scripts/db_init . USER root RUN chmod 0755 ./* WORKDIR /home/datalake -COPY src/assembly/init_db/scripts/init_db.sql . -COPY src/assembly/init_db/scripts/init_db_data.sql . +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 && \ @@ -48,3 +48,4 @@ USER datalake CMD ["sh", "run.sh"] + diff --git a/components/datalake-handler/des/src/assembly/init_db/scripts/init_db.sql b/components/datalake-handler/des/src/assembly/init_db/db_scripts/init_db.sql index e71093aa..e71093aa 100644 --- a/components/datalake-handler/des/src/assembly/init_db/scripts/init_db.sql +++ b/components/datalake-handler/des/src/assembly/init_db/db_scripts/init_db.sql diff --git a/components/datalake-handler/des/src/assembly/init_db/scripts/init_db_data.sql b/components/datalake-handler/des/src/assembly/init_db/db_scripts/init_db_data.sql index 234351fb..234351fb 100644 --- a/components/datalake-handler/des/src/assembly/init_db/scripts/init_db_data.sql +++ b/components/datalake-handler/des/src/assembly/init_db/db_scripts/init_db_data.sql diff --git a/components/datalake-handler/des/src/assembly/init_db/scripts/db_init/10_check-db-exist b/components/datalake-handler/des/src/assembly/init_db/scripts/db_init/10_check-db-exist new file mode 100644 index 00000000..4b117fd4 --- /dev/null +++ b/components/datalake-handler/des/src/assembly/init_db/scripts/db_init/10_check-db-exist @@ -0,0 +1,30 @@ +#!/bin/bash +# +# ============LICENSE_START========================================== +# =================================================================== +# Copyright © 2020 China Mobile. 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/des/src/assembly/init_db/scripts/db_init/11_create-database b/components/datalake-handler/des/src/assembly/init_db/scripts/db_init/11_create-database new file mode 100644 index 00000000..773f9c48 --- /dev/null +++ b/components/datalake-handler/des/src/assembly/init_db/scripts/db_init/11_create-database @@ -0,0 +1,25 @@ +#!/bin/bash +# +# ============LICENSE_START========================================== +# =================================================================== +# Copyright © 2020 China Mobile. 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/des/src/assembly/init_db/scripts/db_init/15_db-adduser b/components/datalake-handler/des/src/assembly/init_db/scripts/db_init/15_db-adduser new file mode 100644 index 00000000..05b5c19b --- /dev/null +++ b/components/datalake-handler/des/src/assembly/init_db/scripts/db_init/15_db-adduser @@ -0,0 +1,34 @@ +#!/bin/bash +# +# ============LICENSE_START========================================== +# =================================================================== +# Copyright © 2020 China Mobile. 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/des/src/assembly/init_db/scripts/db_init/20_db-initdb b/components/datalake-handler/des/src/assembly/init_db/scripts/db_init/20_db-initdb new file mode 100644 index 00000000..abc98552 --- /dev/null +++ b/components/datalake-handler/des/src/assembly/init_db/scripts/db_init/20_db-initdb @@ -0,0 +1,25 @@ +#!/bin/bash +# +# ============LICENSE_START========================================== +# =================================================================== +# Copyright © 2020 China Mobile. 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/des/src/assembly/init_db/scripts/run.sh b/components/datalake-handler/des/src/assembly/init_db/scripts/run.sh new file mode 100644 index 00000000..20b4fc69 --- /dev/null +++ b/components/datalake-handler/des/src/assembly/init_db/scripts/run.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# ============LICENSE_START========================================== +# =================================================================== +# Copyright (c) 2020 China Mobile.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============================================ + + +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\"}" + |