mirror of
https://gitee.com/dolphinscheduler/DolphinScheduler.git
synced 2024-12-05 05:38:30 +08:00
de50f43de6
* [common] Make dolphinscheduler_env.sh work * Change dist tarball `dolphinscheduler_env.sh` location from `bin/` to `conf/`, which users could finish their change configuration operation in one single directory. and we only need to add `$DOLPHINSCHEDULER_HOME/conf` when we start our sever instead of adding both `$DOLPHINSCHEDULER_HOME/conf` and `$DOLPHINSCHEDULER_HOME/bin` * Change the `start.sh`'s path of `dolphinscheduler_env.sh` * Change the setting order of `dolphinscheduler_env.sh` * `bin/env/dolphinscheduler_env.sh` will overwrite the `<server>/conf/dolphinscheduler_env.sh` when start the server using `bin/dolphinsceduler_daemon.sh` or `bin/install.sh` * Change the related docs
65 lines
2.2 KiB
Bash
Executable File
65 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# 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.
|
|
#
|
|
|
|
workDir=`dirname $0`
|
|
workDir=`cd ${workDir};pwd`
|
|
|
|
source ${workDir}/env/install_env.sh
|
|
|
|
workersGroup=(${workers//,/ })
|
|
for workerGroup in ${workersGroup[@]}
|
|
do
|
|
echo $workerGroup;
|
|
worker=`echo $workerGroup|awk -F':' '{print $1}'`
|
|
group=`echo $workerGroup|awk -F':' '{print $2}'`
|
|
workerNames+=($worker)
|
|
groupNames+=(${group:-default})
|
|
done
|
|
|
|
hostsArr=(${ips//,/ })
|
|
for host in ${hostsArr[@]}
|
|
do
|
|
|
|
if ! ssh -p $sshPort $host test -e $installPath; then
|
|
ssh -p $sshPort $host "sudo mkdir -p $installPath; sudo chown -R $deployUser:$deployUser $installPath"
|
|
fi
|
|
|
|
echo "scp dirs to $host/$installPath starting"
|
|
ssh -p $sshPort $host "cd $installPath/; rm -rf bin/ master-server/ worker-server/ alert-server/ api-server/ ui/ tools/"
|
|
|
|
for i in ${!workerNames[@]}; do
|
|
if [[ ${workerNames[$i]} == $host ]]; then
|
|
workerIndex=$i
|
|
break
|
|
fi
|
|
done
|
|
# set worker groups in application.yaml
|
|
[[ -n ${workerIndex} ]] && sed -i "s/- default/- ${groupNames[$workerIndex]}/" worker-server/conf/application.yaml
|
|
|
|
for dsDir in bin master-server worker-server alert-server api-server ui tools
|
|
do
|
|
echo "start to scp $dsDir to $host/$installPath"
|
|
# Use quiet mode to reduce command line output
|
|
scp -q -P $sshPort -r $workDir/../$dsDir $host:$installPath
|
|
done
|
|
# restore worker groups to default
|
|
[[ -n ${workerIndex} ]] && sed -i "s/- ${groupNames[$workerIndex]}/- default/" worker-server/conf/application.yaml
|
|
|
|
echo "scp dirs to $host/$installPath complete"
|
|
done
|