12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- #!/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.
- #
- set -x
- API_HEALTHCHECK_COMMAND="curl -I -m 10 -o /dev/null -s -w %{http_code} http://0.0.0.0:12345/dolphinscheduler/actuator/health"
- MASTER_HEALTHCHECK_COMMAND="curl -I -m 10 -o /dev/null -s -w %{http_code} http://0.0.0.0:5679/actuator/health"
- WORKER_HEALTHCHECK_COMMAND="curl -I -m 10 -o /dev/null -s -w %{http_code} http://0.0.0.0:1235/actuator/health"
- ALERT_HEALTHCHECK_COMMAND="curl -I -m 10 -o /dev/null -s -w %{http_code} http://0.0.0.0:50053/actuator/health"
- #Cluster start health check
- TIMEOUT=120
- START_HEALTHCHECK_EXITCODE=0
- for ((i=1; i<=TIMEOUT; i++))
- do
- MASTER_HTTP_STATUS=$(eval "$MASTER_HEALTHCHECK_COMMAND")
- WORKER_HTTP_STATUS=$(eval "$WORKER_HEALTHCHECK_COMMAND")
- API_HTTP_STATUS=$(eval "$API_HEALTHCHECK_COMMAND")
- ALERT_HTTP_STATUS=$(eval "$ALERT_HEALTHCHECK_COMMAND")
- if [[ $MASTER_HTTP_STATUS -eq 200 && $WORKER_HTTP_STATUS -eq 200 && $API_HTTP_STATUS -eq 200 && $ALERT_HTTP_STATUS -eq 200 ]];then
- START_HEALTHCHECK_EXITCODE=0
- else
- START_HEALTHCHECK_EXITCODE=2
- fi
- if [[ $START_HEALTHCHECK_EXITCODE -eq 0 ]];then
- echo "cluster start health check success"
- break
- fi
- if [[ $i -eq $TIMEOUT ]];then
- docker exec -u root ds bash -c "cat /root/apache-dolphinscheduler-*-SNAPSHOT-bin/master-server/logs/dolphinscheduler-master.log"
- echo "cluster start health check failed"
- exit $START_HEALTHCHECK_EXITCODE
- fi
- sleep 1
- done
- #Stop Cluster
- docker exec -u root ds bash -c "/root/apache-dolphinscheduler-*-SNAPSHOT-bin/bin/stop-all.sh"
- #Cluster stop health check
- sleep 5
- MASTER_HTTP_STATUS=$(eval "$MASTER_HEALTHCHECK_COMMAND")
- if [[ $MASTER_HTTP_STATUS -ne 200 ]];then
- echo "master stop health check success"
- else
- echo "master stop health check failed"
- exit 3
- fi
- WORKER_HTTP_STATUS=$(eval "$WORKER_HEALTHCHECK_COMMAND")
- if [[ $WORKER_HTTP_STATUS -ne 200 ]];then
- echo "worker stop health check success"
- else
- echo "worker stop health check failed"
- exit 3
- fi
- API_HTTP_STATUS=$(eval "$API_HEALTHCHECK_COMMAND")
- if [[ $API_HTTP_STATUS -ne 200 ]];then
- echo "api stop health check success"
- else
- echo "api stop health check failed"
- exit 3
- fi
- ALERT_HTTP_STATUS=$(eval "$ALERT_HEALTHCHECK_COMMAND")
- if [[ $ALERT_HTTP_STATUS -ne 200 ]];then
- echo "alert stop health check success"
- else
- echo "alert stop health check failed"
- exit 3
- fi
|