Приложение Spark EMR SpringBoot не закрывается - PullRequest
0 голосов
/ 19 марта 2020

Я запускаю приложение My Spark SpringBoot на EMR и отправляю эти задания (как этапы) программно. Все работает нормально, за исключением того, что приложение Spark завершает свои задачи и не выходит из него. Они просто сидят и работают и ничего не делают, вызывая все последующие представления в состоянии «Ожидание».

Это то, что у меня есть в основном методе CommandLineRunner

public static void main(String[] args) {
        logger.info("STARTING THE APPLICATION");
        logger.info(".run() : No.of arguments ={}",args.length);
        Arrays.stream(args).forEach(arg->{
            logger.info(".main() : Argument={}",arg);
        });
        ConfigurableApplicationContext context = SpringApplication.run(ConsoleApplication.class, args);
        context.close();
        logger.info("APPLICATION FINISHED");
    }

Я не могу вызвать System.exit (0) согласно документации Spark.

Кстати, я закрываю / останавливаю JavaSparkContext и sparkSession в конце метода run, который вызывается из main.

Спасибо Satee sh

1 Ответ

0 голосов
/ 20 марта 2020

Использование System.exit (0), по-видимому, является единственной работающей опцией.

Несмотря на то, что четко указано, что не следует использовать это при работе в режиме кластера пряжи. Для EMR все работает как положено после вызова его в конце основного метода.

...