You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
3.8 KiB
90 lines
3.8 KiB
2 years ago
|
# Licensed to the Apache Software Foundation (ASF) under one
|
||
|
# or more contributor license agreements. See the NOTICE file
|
||
|
# distributed with this work for additional information
|
||
|
# regarding copyright ownership. The ASF licenses this file
|
||
|
# to you 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.
|
||
|
|
||
|
#cloud-config
|
||
|
|
||
|
groups:
|
||
|
- ds
|
||
|
|
||
|
users:
|
||
|
- name: ds
|
||
|
shell: /bin/bash
|
||
|
primary_group: ds
|
||
|
sudo: ALL=(ALL) NOPASSWD:ALL
|
||
|
ssh_authorized_keys:
|
||
|
- ${ssh_public_key}
|
||
|
- name: root
|
||
|
ssh_authorized_keys:
|
||
|
- ${ssh_public_key}
|
||
|
|
||
|
write_files:
|
||
|
- path: /etc/systemd/system/dolphinscheduler-schema.service
|
||
|
content: |
|
||
|
[Unit]
|
||
|
Description=DolphinScheduler service to init database schema
|
||
|
|
||
|
[Service]
|
||
|
Type=oneshot
|
||
|
RemainAfterExit=yes
|
||
|
Environment="DATABASE=postgresql"
|
||
|
Environment="SPRING_PROFILES_ACTIVE=postgresql"
|
||
|
Environment="SPRING_DATASOURCE_URL=jdbc:postgresql://${database_address}:${database_port}/${database_name}"
|
||
|
Environment="SPRING_DATASOURCE_USERNAME=${database_username}"
|
||
|
Environment="SPRING_DATASOURCE_PASSWORD=${database_password}"
|
||
|
User=ds
|
||
|
WorkingDirectory=/opt/dolphinscheduler
|
||
|
ExecStart=bash -l /opt/dolphinscheduler/tools/bin/upgrade-schema.sh
|
||
|
|
||
|
[Install]
|
||
|
WantedBy=multi-user.target
|
||
|
- path: /etc/systemd/system/dolphinscheduler.service
|
||
|
content: |
|
||
|
[Unit]
|
||
|
Description=DolphinScheduler Service ${dolphinscheduler_component}
|
||
|
Requires=dolphinscheduler-schema.service
|
||
|
|
||
|
[Service]
|
||
|
Environment="DATABASE=postgresql"
|
||
|
Environment="SPRING_PROFILES_ACTIVE=postgresql"
|
||
|
Environment="SPRING_DATASOURCE_URL=jdbc:postgresql://${database_address}:${database_port}/${database_name}"
|
||
|
Environment="SPRING_DATASOURCE_USERNAME=${database_username}"
|
||
|
Environment="SPRING_DATASOURCE_PASSWORD=${database_password}"
|
||
|
Environment="REGISTRY_ZOOKEEPER_CONNECT_STRING=${zookeeper_connect_string}"
|
||
|
Environment="WORKER_ALERT_LISTEN_HOST=${alert_server_host}"
|
||
|
User=ds
|
||
|
WorkingDirectory=/opt/dolphinscheduler
|
||
|
ExecStart=bash -l /opt/dolphinscheduler/${dolphinscheduler_component}/bin/start.sh
|
||
|
Restart=always
|
||
|
|
||
|
[Install]
|
||
|
WantedBy=multi-user.target
|
||
|
|
||
|
packages: []
|
||
|
|
||
|
runcmd:
|
||
|
- chown -R ds:ds /opt/dolphinscheduler
|
||
|
- find /opt/dolphinscheduler/ -name "start.sh" | xargs -I{} chmod +x {}
|
||
|
- find /opt/dolphinscheduler/ -name "common.properties" | xargs -I{} sed -ie "s/^resource.storage.type=.*/resource.storage.type=S3/g" {}
|
||
|
- find /opt/dolphinscheduler/ -name "common.properties" | xargs -I{} sed -ie "s/^resource.aws.access.key.id=.*/resource.aws.access.key.id=${s3_access_key_id}/g" {}
|
||
|
- find /opt/dolphinscheduler/ -name "common.properties" | xargs -I{} sed -ie "s:^resource.aws.secret.access.key=.*:resource.aws.secret.access.key=${s3_secret_access_key}:g" {}
|
||
|
- find /opt/dolphinscheduler/ -name "common.properties" | xargs -I{} sed -ie "s/^resource.aws.region=.*/resource.aws.region=${s3_region}/g" {}
|
||
|
- find /opt/dolphinscheduler/ -name "common.properties" | xargs -I{} sed -ie "s/^resource.aws.s3.bucket.name=.*/resource.aws.s3.bucket.name=${s3_bucket_name}/g" {}
|
||
|
- find /opt/dolphinscheduler/ -name "common.properties" | xargs -I{} sed -ie "s/^resource.aws.s3.endpoint=.*/resource.aws.s3.endpoint=${s3_endpoint}/g" {}
|
||
|
- systemctl enable dolphinscheduler
|
||
|
- systemctl start dolphinscheduler-schema
|
||
|
- systemctl start dolphinscheduler
|