|
@@ -164,12 +164,9 @@ public class FlinkArgsUtils {
|
|
|
}
|
|
|
|
|
|
// yarn.application.queue
|
|
|
- String others = flinkParameters.getOthers();
|
|
|
- if (StringUtils.isEmpty(others) || !others.contains(FlinkConstants.FLINK_QUEUE)) {
|
|
|
- String queue = flinkParameters.getQueue();
|
|
|
- if (StringUtils.isNotEmpty(queue)) {
|
|
|
- initOptions.add(String.format(FlinkConstants.FLINK_FORMAT_YARN_APPLICATION_QUEUE, queue));
|
|
|
- }
|
|
|
+ String queue = flinkParameters.getQueue();
|
|
|
+ if (StringUtils.isNotEmpty(queue)) {
|
|
|
+ initOptions.add(String.format(FlinkConstants.FLINK_FORMAT_YARN_APPLICATION_QUEUE, queue));
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -254,13 +251,6 @@ public class FlinkArgsUtils {
|
|
|
args.add(taskManagerMemory);
|
|
|
}
|
|
|
|
|
|
- if (StringUtils.isEmpty(others) || !others.contains(FlinkConstants.FLINK_QUEUE)) {
|
|
|
- String queue = flinkParameters.getQueue();
|
|
|
- if (StringUtils.isNotEmpty(queue)) { // -yqu
|
|
|
- args.add(FlinkConstants.FLINK_QUEUE);
|
|
|
- args.add(queue);
|
|
|
- }
|
|
|
- }
|
|
|
break;
|
|
|
case LOCAL:
|
|
|
break;
|
|
@@ -306,6 +296,40 @@ public class FlinkArgsUtils {
|
|
|
args.add(ParameterUtils.convertParameterPlaceholders(mainArgs, ParamUtils.convert(paramsMap)));
|
|
|
}
|
|
|
|
|
|
+ // determine yarn queue
|
|
|
+ determinedYarnQueue(args, flinkParameters, deployMode, flinkVersion);
|
|
|
return args;
|
|
|
}
|
|
|
+
|
|
|
+ private static void determinedYarnQueue(List<String> args, FlinkParameters flinkParameters,
|
|
|
+ FlinkDeployMode deployMode, String flinkVersion) {
|
|
|
+ switch (deployMode) {
|
|
|
+ case CLUSTER:
|
|
|
+ if (FLINK_VERSION_AFTER_OR_EQUALS_1_12.equals(flinkVersion)
|
|
|
+ || FLINK_VERSION_AFTER_OR_EQUALS_1_13.equals(flinkVersion)) {
|
|
|
+ doAddQueue(args, flinkParameters, FlinkConstants.FLINK_QUEUE_FOR_TARGETS);
|
|
|
+ } else {
|
|
|
+ doAddQueue(args, flinkParameters, FlinkConstants.FLINK_QUEUE_FOR_MODE);
|
|
|
+ }
|
|
|
+ case APPLICATION:
|
|
|
+ doAddQueue(args, flinkParameters, FlinkConstants.FLINK_QUEUE_FOR_TARGETS);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private static void doAddQueue(List<String> args, FlinkParameters flinkParameters, String option) {
|
|
|
+ String others = flinkParameters.getOthers();
|
|
|
+ if (StringUtils.isEmpty(others) || !others.contains(option)) {
|
|
|
+ String queue = flinkParameters.getQueue();
|
|
|
+ if (StringUtils.isNotEmpty(queue)) {
|
|
|
+ switch (option) {
|
|
|
+ case FlinkConstants.FLINK_QUEUE_FOR_TARGETS:
|
|
|
+ args.add(String.format(FlinkConstants.FLINK_QUEUE_FOR_TARGETS + "=%s", queue));
|
|
|
+ case FlinkConstants.FLINK_QUEUE_FOR_MODE:
|
|
|
+ args.add(FlinkConstants.FLINK_QUEUE_FOR_MODE);
|
|
|
+ args.add(queue);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|