check 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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. echo "------- check server status -------"
  19. cd $(dirname $0)
  20. until [ $(docker-compose top | grep java | grep "dolphinscheduler" | awk -F 'classpath ' '{print $2}' | awk '{print $2}' | sort | uniq -c | wc -l) -eq 5 ]; do
  21. counter=$((counter+1))
  22. if [ $counter -eq 30 ]; then
  23. echo "error: all servers start failed"
  24. exit 1
  25. fi
  26. echo "waiting for all servers started ..."
  27. sleep 5
  28. done
  29. echo "all servers start successfully"
  30. counter=0
  31. until docker logs docker-swarm_dolphinscheduler-api_1 2>&1 | grep '0.0.0.0:12345' &>/dev/null; do
  32. counter=$((counter+1))
  33. if [ $counter -eq 30 ]; then
  34. echo "error: api server is not ready"
  35. exit 1
  36. fi
  37. echo "waiting for api server ready ..."
  38. sleep 5
  39. done
  40. echo "api server is ready"