未验证 提交 fd18e37d 编写于 作者: R rickchengx 提交者: GitHub

[Fix-12109]Fix the errors when starting 2 times with dolphinscheduler-daemon.sh (#12118)

上级 4e2701b5
......@@ -28,8 +28,6 @@ startStop=$1
shift
command=$1
shift
CLASS=$1
shift
echo "Begin $startStop $command......"
......@@ -81,8 +79,25 @@ else
exit 1
fi
state=""
function get_server_running_status() {
state="STOP"
if [ -f $pid ]; then
TARGET_PID=`cat $pid`
if [[ $(ps -p "$TARGET_PID" -o comm=) =~ "bash" ]]; then
state="RUNNING"
fi
fi
}
case $startStop in
(start)
# if server is already started, cancel this launch
get_server_running_status
if [[ $state == "RUNNING" ]]; then
echo "$command running as process $TARGET_PID. Stop it first."
exit 1
fi
echo starting $command, logging to $DOLPHINSCHEDULER_LOG_DIR
overwrite_server_env "${command}"
nohup /bin/bash "$DOLPHINSCHEDULER_HOME/$command/bin/start.sh" > $log 2>&1 &
......@@ -110,13 +125,11 @@ case $startStop in
;;
(status)
# more details about the status can be added later
serverCount=`ps -ef | grep "java" | grep "$DOLPHINSCHEDULER_HOME" | grep "$CLASS" | grep -v "grep" | wc -l`
state="STOP"
# font color - red
state="[ \033[1;31m $state \033[0m ]"
if [[ $serverCount -gt 0 ]];then
state="RUNNING"
get_server_running_status
if [[ $state == "STOP" ]]; then
# font color - red
state="[ \033[1;31m $state \033[0m ]"
else
# font color - green
state="[ \033[1;32m $state \033[0m ]"
fi
......
......@@ -49,25 +49,25 @@ StateRunning="Running"
mastersHost=(${masters//,/ })
for master in ${mastersHost[@]}
do
masterState=`ssh -o StrictHostKeyChecking=no -p $sshPort $master "cd $installPath/; bash bin/dolphinscheduler-daemon.sh status master-server org.apache.dolphinscheduler.server.master.MasterServer;"`
masterState=`ssh -o StrictHostKeyChecking=no -p $sshPort $master "cd $installPath/; bash bin/dolphinscheduler-daemon.sh status master-server;"`
echo "$master $masterState"
done
# 2.worker server check state
for worker in ${workerNames[@]}
do
workerState=`ssh -o StrictHostKeyChecking=no -p $sshPort $worker "cd $installPath/; bash bin/dolphinscheduler-daemon.sh status worker-server org.apache.dolphinscheduler.server.worker.WorkerServer;"`
workerState=`ssh -o StrictHostKeyChecking=no -p $sshPort $worker "cd $installPath/; bash bin/dolphinscheduler-daemon.sh status worker-server;"`
echo "$worker $workerState"
done
# 3.alter server check state
alertState=`ssh -o StrictHostKeyChecking=no -p $sshPort $alertServer "cd $installPath/; bash bin/dolphinscheduler-daemon.sh status alert-server org.apache.dolphinscheduler.alert.AlertServer;"`
alertState=`ssh -o StrictHostKeyChecking=no -p $sshPort $alertServer "cd $installPath/; bash bin/dolphinscheduler-daemon.sh status alert-server;"`
echo "$alertServer $alertState"
# 4.api server check state
apiServersHost=(${apiServers//,/ })
for apiServer in ${apiServersHost[@]}
do
apiState=`ssh -o StrictHostKeyChecking=no -p $sshPort $apiServer "cd $installPath/; bash bin/dolphinscheduler-daemon.sh status api-server org.apache.dolphinscheduler.api.ApiApplicationServer;"`
apiState=`ssh -o StrictHostKeyChecking=no -p $sshPort $apiServer "cd $installPath/; bash bin/dolphinscheduler-daemon.sh status api-server;"`
echo "$apiServer $apiState"
done
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册