Журналы YARN AM сообщают другую временную отметку, отличную от показанной в терминале и оболочке sparkscala

Я пытаюсь понять, почему произошло следующее:

  1. У меня есть Docker-контейнер с Yarn и Spark, работающий нормально, за исключением того, что временная метка этого контейнера была минус X часов того, что я хотел. Итак, когда я бежал date он возвращал метку времени минус Х часов текущей метки времени.
  2. Удалось исправить это, передав переменную окружения TZ в docker run команда, поэтому, когда я печатаю date Я получил правильную метку времени.
  3. Тем не менее, когда я бегу spark-submit (режим кластера - пряжа) приложения в YARN, временная метка в журналах AM все еще неправильная (минус X часов).
  4. Удалось исправить вышеуказанное, передав настройку часового пояса для JVM в spark-submit: -conf 'spark.executor.extraJavaOptions=-Duser.timezone' а также -conf 'spark.driver.extraJavaOptions=-Duser.timezone',
  5. Это говорит мне, что была проблема с использованием JVM YARN. Однако, когда попытался получить datetime из оболочки SparkScala, он возвращал правильное время (используя system.currenttimemillis()) без указания каких-либо настроек JVM из шага 4.

Вопросы

  1. Как я могу сказать, какая JVM используется при запуске контейнера из YARN Application Master и какая JVM в оболочке SparkScala?
  2. Почему существуют разные временные метки при работе в shell/bash и spark-submit?

0 ответов

Другие вопросы по тегам