summaryrefslogtreecommitdiff
path: root/MPE/flink/topology/relationship-radius-account/start.sh
diff options
context:
space:
mode:
Diffstat (limited to 'MPE/flink/topology/relationship-radius-account/start.sh')
-rw-r--r--MPE/flink/topology/relationship-radius-account/start.sh67
1 files changed, 67 insertions, 0 deletions
diff --git a/MPE/flink/topology/relationship-radius-account/start.sh b/MPE/flink/topology/relationship-radius-account/start.sh
new file mode 100644
index 0000000..00eee48
--- /dev/null
+++ b/MPE/flink/topology/relationship-radius-account/start.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+#启动storm任务脚本
+source /etc/profile
+#######################参数配置####################################
+#yarn任务运行模式 per-job 或 per-job
+TASK_MODE="per-job"
+#更新jar的名字
+#PRIMORDIAL
+PRIMORDIAL='radius-relation-23-06-02.jar'
+#jar name
+JAR_NAME='radius-relation_tmp.jar'
+
+SESSION_CLUSTER="Flink per-job cluster"
+MAIN_CLASS=""
+CONFIG_NAME="service_flow_config.properties"
+JOBMANAGER_MEMORY="1024m"
+TASKMANAGER_MEMORY="3072m"
+TASK_SLOTS=3
+CLASS_LOADER='child-first'
+#######################参数配置####################################
+
+#任务jar所在目录
+BASE_DIR=$(pwd)
+APPLICATION_ID=$(yarn application -list | grep "$SESSION_CLUSTER" | awk '{print $1}')
+
+yes | cp -r $PRIMORDIAL $JAR_NAME
+
+#cd $BASE_DIR
+jar -xvf $BASE_DIR/$JAR_NAME $CONFIG_NAME
+function read_dir() {
+ for file in $(ls $1); do
+ if [ -d $1"/"$file ]; then
+ read_dir $1"/"$file
+ else
+ #perl job
+ if [[ $TASK_MODE == "per-job" ]]; then
+ num=$(yarn application -list | grep $file | wc -l)
+ if [ $num -eq "0" ]; then
+ cat $1$file >$BASE_DIR/$CONFIG_NAME
+ jar -uvf $BASE_DIR/$JAR_NAME $CONFIG_NAME
+
+ flink run -t yarn-per-job -Djobmanager.memory.process.size=$JOBMANAGER_MEMORY -Dtaskmanager.memory.process.size=$TASKMANAGER_MEMORY -Dyarn.application.name=$file -Dtaskmanager.numberOfTaskSlots=$TASK_SLOTS -p 3 -d $BASE_DIR/$JAR_NAME $file
+ sleep 10
+ fi
+ elif [[ -n $APPLICATION_ID && $TASK_MODE == "per-job" ]]; then
+ num=$(flink list | grep "$file" | grep -v flink | wc -l)
+ if [ $num -eq "0" ]; then
+ cat $1$file >$BASE_DIR/$CONFIG_NAME
+ jar -uvf $BASE_DIR/$JAR_NAME $CONFIG_NAME
+ #per-job
+ flink run -t yarn-per-job -Dyarn.application.id=$APPLICATION_ID -Dclassloader.resolve-order=$CLASS_LOADER -d $BASE_DIR/$JAR_NAME $file
+ sleep 10
+ fi
+ fi
+
+ fi
+ done
+}
+if [ $# != 1 ]; then
+ echo "usage: ./startall.sh [Configuration path]"
+ exit 1
+fi
+#读取第一个参数 为配置文件目录名称
+read_dir $1
+
+rm -rf $JAR_NAME
+