2017-08-30 5 views
0

J'ai une question concernant le travail Apache Spark qui s'exécute sur AWS EMR. Chaque fois que j'ai exécuté le travail Spark, il a généré beaucoup de journaux, dans mon cas la taille des journaux est de 5 à 10 Go, mais les 80% des journaux sont des informations (inutiles), comment puis-je réduire ces journaux?Comment réduire les journaux pour Apache Spark dans EMR?

J'ai été utilisé log4j2 pour Spark pour changer le niveau de journal pour "avertir" pour éviter les journaux inutiles, mais comme les journaux de différents composants étincellent certains des journaux de YARN, certains des journaux de EMR, il fusionnait . alors comment résoudre ce problème? Est-ce que quelqu'un a de telles expériences? parce que pour moi je ne veux pas re-configurer chaque noeud dans le cluster.

J'ai essayé la solution ci-dessous, semble ne fonctionne pas dans le DME

Logger logger = LogManager.getLogger("sparklog"); 
logger.setlevel() 

configuration XML ci-dessous.

String used to match the log4j2.xml configuration files 
<Configuration status="WARN" monitorInterval="300">////reload the configuration file each 300 seconds 
    <Appenders> 
     <Console name="Console" target="SYSTEM_OUT"> 
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" /> //// control output format 
     </Console> 
    </Appenders> 
    <Loggers> 
     <Logger name="sparklog" level="warn" additivity="false">//// configuration the myloger loger level 
      <AppenderRef ref="Console" /> 
     </Logger> 
     <Root level="error"> 
      <AppenderRef ref="Console" /> 
     </Root> 
    </Loggers> 
</Configuration> 

Répondre

0

Puisque personne ne répond à ma question, ici j'ai obtenu des solutions par moi-même. 1.Téléchargez le fichier de configuration sur votre noeud maître.

scp -i ~/.ssh/emr_dev.pem /Users/x/log4j_files/log4j.properties [email protected]:/usr/tmp/ 

2.In votre script submit joindre simplement

"--files": "/usr/tmp/log4j.properties" 

Cette solution ci-dessus fonctionne correctement pour moi.