Search in sources :

Example 1 with FlinkPerJobResourceInfo

use of com.dtstack.taier.flink.resource.FlinkPerJobResourceInfo in project Taier by DTStack.

the class FlinkClient method judgeSlots.

@Override
public JudgeResult judgeSlots(JobClient jobClient) {
    ClusterMode clusterMode = ClusterMode.getClusteMode(flinkConfig.getClusterMode());
    boolean isPerJob = ClusterMode.isPerjob(clusterMode);
    JudgeResult judgeResult = JudgeResult.notOk(null);
    try {
        if (ClusterMode.isStandalone(clusterMode)) {
            return judgeSessionSlot(jobClient, true);
        }
        judgeResult = KerberosUtils.login(flinkConfig, () -> {
            FlinkPerJobResourceInfo perJobResourceInfo = FlinkPerJobResourceInfo.FlinkPerJobResourceInfoBuilder().withYarnClient(flinkClientBuilder.getYarnClient()).withQueueName(flinkConfig.getQueue()).withYarnAccepterTaskNumber(flinkConfig.getYarnAccepterTaskNumber()).build();
            return perJobResourceInfo.judgeSlots(jobClient);
        }, hadoopConf.getYarnConfiguration());
        if (judgeResult.available() && !isPerJob) {
            judgeResult = judgeSessionSlot(jobClient, false);
        }
    } catch (Exception e) {
        logger.error("taskId:{} judgeSlots error: ", jobClient.getJobId(), e);
        judgeResult = JudgeResult.exception("judgeSlots error:" + ExceptionUtil.getErrorMessage(e));
    }
    logger.info("taskId:{}, judgeResult: {}, reason: {}", jobClient.getJobId(), judgeResult.getResult(), judgeResult.getReason());
    return judgeResult;
}
Also used : ClusterMode(com.dtstack.taier.flink.base.enums.ClusterMode) FlinkPerJobResourceInfo(com.dtstack.taier.flink.resource.FlinkPerJobResourceInfo) JudgeResult(com.dtstack.taier.pluginapi.pojo.JudgeResult) IOException(java.io.IOException) PluginDefineException(com.dtstack.taier.pluginapi.exception.PluginDefineException) YarnException(org.apache.hadoop.yarn.exceptions.YarnException) MalformedURLException(java.net.MalformedURLException)

Aggregations

ClusterMode (com.dtstack.taier.flink.base.enums.ClusterMode)1 FlinkPerJobResourceInfo (com.dtstack.taier.flink.resource.FlinkPerJobResourceInfo)1 PluginDefineException (com.dtstack.taier.pluginapi.exception.PluginDefineException)1 JudgeResult (com.dtstack.taier.pluginapi.pojo.JudgeResult)1 IOException (java.io.IOException)1 MalformedURLException (java.net.MalformedURLException)1 YarnException (org.apache.hadoop.yarn.exceptions.YarnException)1