2017-08-30 4 views
0

AWS EMR上で動作するApache Sparkジョブに関する質問があります。 Sparkジョブを実行するたびに、ログが大量に生成されましたが、私の場合は5〜10GB程度のログサイズでしたが、ログの80%は情報(無駄)です。EMRでApache Sparkのログを減らすには?

ログレベルを「警告」に変更して不要なログを避けるためにlog4j2をSparkに使用しましたが、YARNのいくつかのログ、EMRのログのいくつかを一緒にマージして。どのようにこの問題を解決するには?誰もそのような経験を持っていますか?なぜなら、私にとっては、クラスタ内の各ノードを再構成したくないからです。

私は以下のソリューションを試してみましたが、それは以下のEMR

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

xml構成では動作しませんようです。

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> 

答えて

0

誰も私の質問に答えなかったので、私は自分で解決策を得ました。 1.マスタノードにコンフィギュレーションファイルをアップロードします。

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

2.Inスクリプトがちょうど

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

これ以上の解決策は、私のために正常に動作している添付し提出します。

関連する問題