startup.sh 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #! /bin/bash
  2. set -e
  3. if [ `netstat -anop|grep mysql|wc -l` -gt 0 ];then
  4. echo "MySQL is Running."
  5. else
  6. MYSQL_ROOT_PWD="root@123"
  7. ESZ_DB="escheduler"
  8. echo "启动mysql服务"
  9. chown -R mysql:mysql /var/lib/mysql /var/run/mysqld
  10. find /var/lib/mysql -type f -exec touch {} \; && service mysql restart $ sleep 10
  11. if [ ! -f /nohup.out ];then
  12. echo "设置mysql密码"
  13. mysql --user=root --password=root -e "UPDATE mysql.user set authentication_string=password('$MYSQL_ROOT_PWD') where user='root'; FLUSH PRIVILEGES;"
  14. echo "设置mysql权限"
  15. mysql --user=root --password=$MYSQL_ROOT_PWD -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '$MYSQL_ROOT_PWD' WITH GRANT OPTION; FLUSH PRIVILEGES;"
  16. echo "创建escheduler数据库"
  17. mysql --user=root --password=$MYSQL_ROOT_PWD -e "CREATE DATABASE IF NOT EXISTS \`$ESZ_DB\` CHARACTER SET utf8 COLLATE utf8_general_ci; FLUSH PRIVILEGES;"
  18. echo "导入mysql数据"
  19. nohup /opt/escheduler/script/create_escheduler.sh &
  20. sleep 90
  21. fi
  22. if [ `mysql --user=root --password=$MYSQL_ROOT_PWD -s -r -e "SELECT count(TABLE_NAME) FROM information_schema.TABLES WHERE TABLE_SCHEMA='escheduler';" | grep -v count` -eq 38 ];then
  23. echo "\`$ESZ_DB\` 表个数正确"
  24. else
  25. echo "\`$ESZ_DB\` 表个数不正确"
  26. mysql --user=root --password=$MYSQL_ROOT_PWD -e "DROP DATABASE \`$ESZ_DB\`;"
  27. echo "创建escheduler数据库"
  28. mysql --user=root --password=$MYSQL_ROOT_PWD -e "CREATE DATABASE IF NOT EXISTS \`$ESZ_DB\` CHARACTER SET utf8 COLLATE utf8_general_ci; FLUSH PRIVILEGES;"
  29. echo "导入mysql数据"
  30. nohup /opt/escheduler/script/create_escheduler.sh &
  31. sleep 90
  32. fi
  33. fi
  34. /opt/zookeeper/bin/zkServer.sh restart
  35. sleep 90
  36. echo "启动api-server"
  37. /opt/escheduler/bin/escheduler-daemon.sh stop api-server
  38. /opt/escheduler/bin/escheduler-daemon.sh start api-server
  39. echo "启动master-server"
  40. /opt/escheduler/bin/escheduler-daemon.sh stop master-server
  41. python /opt/escheduler/script/del_zk_node.py 127.0.0.1 /escheduler/masters
  42. /opt/escheduler/bin/escheduler-daemon.sh start master-server
  43. echo "启动worker-server"
  44. /opt/escheduler/bin/escheduler-daemon.sh stop worker-server
  45. python /opt/escheduler/script/del_zk_node.py 127.0.0.1 /escheduler/workers
  46. /opt/escheduler/bin/escheduler-daemon.sh start worker-server
  47. echo "启动logger-server"
  48. /opt/escheduler/bin/escheduler-daemon.sh stop logger-server
  49. /opt/escheduler/bin/escheduler-daemon.sh start logger-server
  50. echo "启动alert-server"
  51. /opt/escheduler/bin/escheduler-daemon.sh stop alert-server
  52. /opt/escheduler/bin/escheduler-daemon.sh start alert-server
  53. echo "启动nginx"
  54. /etc/init.d/nginx stop
  55. nginx &
  56. while true
  57. do
  58. sleep 101
  59. done
  60. exec "$@"