Os logs do YARN AM relatam um registro de data e hora diferente do que é mostrado no terminal e no shell sparkscala

1

Estou tentando entender por que ocorreu o seguinte:

  1. Eu tenho um contêiner do Docker com o Yarn e o Spark funcionando bem, exceto que o timestamp desse contêiner era menos X horas do que eu queria que fosse. Então, quando eu estava executando date , estava retornando um timestamp menos X horas do timestamp atual.
  2. Gerenciado para corrigir o problema acima passando uma variável de ambiente TZ no comando docker run , portanto, quando eu digitar date , recebo o registro de data e hora correto.
  3. No entanto, quando executo aplicativos spark-submit (o modo de cluster é fio) no YARN, o registro de data e hora nos logs de AM ainda é o errado (menos X horas).
  4. Gerenciado para corrigir o problema acima, passando uma configuração de fuso horário para a JVM em spark-submit : -conf 'spark.executor.extraJavaOptions=-Duser.timezone' e -conf 'spark.driver.extraJavaOptions=-Duser.timezone' .
  5. Isso me diz que houve um problema com o uso do JVM YARN. No entanto, quando tentou obter o datetime do shell do SparkScala, estava retornando a hora correta (usando system.currenttimemillis() ) sem especificar nenhuma configuração da JVM na etapa 4.

Perguntas

  1. Como posso saber qual JVM está sendo usada no lançamento do contêiner do YARN Application Master e qual JVM no shell SparkScala?
  2. Por que existem timestamps diferentes quando executados no shell / bash e no spark-submit?
por rudimuse 23.08.2017 / 01:14

0 respostas