running_test.sh 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. #!/bin/bash
  2. #
  3. # Licensed to the Apache Software Foundation (ASF) under one or more
  4. # contributor license agreements. See the NOTICE file distributed with
  5. # this work for additional information regarding copyright ownership.
  6. # The ASF licenses this file to You under the Apache License, Version 2.0
  7. # (the "License"); you may not use this file except in compliance with
  8. # the License. You may obtain a copy of the License at
  9. #
  10. # http://www.apache.org/licenses/LICENSE-2.0
  11. #
  12. # Unless required by applicable law or agreed to in writing, software
  13. # distributed under the License is distributed on an "AS IS" BASIS,
  14. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. # See the License for the specific language governing permissions and
  16. # limitations under the License.
  17. #
  18. set -x
  19. API_HEALTHCHECK_COMMAND="curl -I -m 10 -o /dev/null -s -w %{http_code} http://0.0.0.0:12345/dolphinscheduler/actuator/health"
  20. MASTER_HEALTHCHECK_COMMAND="curl -I -m 10 -o /dev/null -s -w %{http_code} http://0.0.0.0:5679/actuator/health"
  21. WORKER_HEALTHCHECK_COMMAND="curl -I -m 10 -o /dev/null -s -w %{http_code} http://0.0.0.0:1235/actuator/health"
  22. ALERT_HEALTHCHECK_COMMAND="curl -I -m 10 -o /dev/null -s -w %{http_code} http://0.0.0.0:50053/actuator/health"
  23. #Cluster start health check
  24. TIMEOUT=120
  25. START_HEALTHCHECK_EXITCODE=0
  26. for ((i=1; i<=TIMEOUT; i++))
  27. do
  28. MASTER_HTTP_STATUS=$(eval "$MASTER_HEALTHCHECK_COMMAND")
  29. WORKER_HTTP_STATUS=$(eval "$WORKER_HEALTHCHECK_COMMAND")
  30. API_HTTP_STATUS=$(eval "$API_HEALTHCHECK_COMMAND")
  31. ALERT_HTTP_STATUS=$(eval "$ALERT_HEALTHCHECK_COMMAND")
  32. if [[ $MASTER_HTTP_STATUS -eq 200 && $WORKER_HTTP_STATUS -eq 200 && $API_HTTP_STATUS -eq 200 && $ALERT_HTTP_STATUS -eq 200 ]];then
  33. START_HEALTHCHECK_EXITCODE=0
  34. else
  35. START_HEALTHCHECK_EXITCODE=2
  36. fi
  37. if [[ $START_HEALTHCHECK_EXITCODE -eq 0 ]];then
  38. echo "cluster start health check success"
  39. break
  40. fi
  41. if [[ $i -eq $TIMEOUT ]];then
  42. docker exec -u root ds bash -c "cat /root/apache-dolphinscheduler-*-SNAPSHOT-bin/master-server/logs/dolphinscheduler-master.log"
  43. echo "cluster start health check failed"
  44. exit $START_HEALTHCHECK_EXITCODE
  45. fi
  46. sleep 1
  47. done
  48. #Stop Cluster
  49. docker exec -u root ds bash -c "/root/apache-dolphinscheduler-*-SNAPSHOT-bin/bin/stop-all.sh"
  50. #Cluster stop health check
  51. sleep 5
  52. MASTER_HTTP_STATUS=$(eval "$MASTER_HEALTHCHECK_COMMAND")
  53. if [[ $MASTER_HTTP_STATUS -ne 200 ]];then
  54. echo "master stop health check success"
  55. else
  56. echo "master stop health check failed"
  57. exit 3
  58. fi
  59. WORKER_HTTP_STATUS=$(eval "$WORKER_HEALTHCHECK_COMMAND")
  60. if [[ $WORKER_HTTP_STATUS -ne 200 ]];then
  61. echo "worker stop health check success"
  62. else
  63. echo "worker stop health check failed"
  64. exit 3
  65. fi
  66. API_HTTP_STATUS=$(eval "$API_HEALTHCHECK_COMMAND")
  67. if [[ $API_HTTP_STATUS -ne 200 ]];then
  68. echo "api stop health check success"
  69. else
  70. echo "api stop health check failed"
  71. exit 3
  72. fi
  73. ALERT_HTTP_STATUS=$(eval "$ALERT_HEALTHCHECK_COMMAND")
  74. if [[ $ALERT_HTTP_STATUS -ne 200 ]];then
  75. echo "alert stop health check success"
  76. else
  77. echo "alert stop health check failed"
  78. exit 3
  79. fi