| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #!/bin/bash
- if [ -z "${BASE_DIR}" ]; then
- BASE_DIR=$(
- cd "$(dirname "$(realpath "$0")")/.." || exit
- pwd
- )
- fi
- . "${BASE_DIR}"/conf/env.sh
- . "${BASE_DIR}"/bin/common/functions.sh
- BANNED_USER="root"
- USER="$(whoami)"
- CURRENT_HOST=$(hostname -s)
- RELEASE_HOST="m3"
- PROJECT_NAME=$(basename "${BASE_DIR}")
- DATAX_WORKERS=(
- m3 d1 d2 d3 d4
- )
- declare -A DATAX_WORKERS_WEIGHTS=(
- ["m3"]=1
- ["d1"]=2 ["d2"]=2 ["d3"]=3 ["d4"]=3
- )
- DATAX_WORKERS_QUEUE=()
- # 定义一个map存储机器的ip地址和分配的权重
- for key in ${!DATAX_WORKERS_WEIGHTS[*]}; do
- for ((i = 0; i < ${DATAX_WORKERS_WEIGHTS[$key]}; i++)); do
- DATAX_WORKERS_QUEUE+=("$key")
- done
- done
- if [ "${USER}" == "${BANNED_USER}" ]; then
- pretty_print "${NORM_RED}Project ${NORM_GRN}${PROJECT_NAME}${NORM_RED} is running by banned user ${NORM_GRN}${BANNED_USER}${NORM_RED}, exit with error code ${NORM_GRN}18"
- exit 18
- elif [ "${USER}" == "${RELEASE_USER}" ]; then
- IS_RUN_BY_RELEASE_USER="1"
- pretty_print "${NORM_MGT}Project ${NORM_GRN}${PROJECT_NAME}${NORM_MGT} is running by release user ${NORM_GRN}${RELEASE_USER}"
- else
- IS_RUN_BY_NORMAL_USER="1"
- . "${BASE_DIR}"/bin/common/print-constants.sh
- if [ "${CURRENT_HOST}" == "${RELEASE_HOST}" ] && [ -n "${IS_RUN_BY_NORMAL_USER}" ]; then
- cow_says
- fi
- pretty_print "${NORM_MGT}Project ${NORM_GRN}${PROJECT_NAME}${NORM_MGT} is running by normal user ${NORM_GRN}${USER}"
- fi
- if [[ "${BASE_DIR}" =~ "${RELEASE_ROOT_DIR}/${PROJECT_NAME}/"* ]]; then
- IS_RUN_IN_RELEASE_DIR="1"
- pretty_print "${NORM_MGT}Project ${NORM_GRN}${PROJECT_NAME}${NORM_MGT} is running in release dir ${NORM_GRN}${RELEASE_ROOT_DIR}/${PROJECT_NAME}"
- else
- pretty_print "${NORM_MGT}Project ${NORM_GRN}${PROJECT_NAME}${NORM_MGT} is running in normal user dir ${NORM_GRN}${BASE_DIR}"
- fi
- export CURRENT_HOST
- export DATAX_WORKERS
- export BA_LITTLE_CUTE
- export DCP_LITTLE_CUTE
- export ETL_LITTLE_CUTE
- export SKB_LITTLE_CUTE
- export REALTIME_LITTLE_CUTE
- export IS_RUN_IN_RELEASE_DIR
- export IS_RUN_BY_RELEASE_USER
- echo -en "${NORM_GRN}"
- echo -en "${DO_RESET}"
|