You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@bigtop.apache.org by "Amiya Chakraborty (JIRA)" <ji...@apache.org> on 2018/10/06 00:56:00 UTC

[jira] [Created] (BIGTOP-3093) Modifying the way Spark's log4j.properties file is being generated

Amiya Chakraborty created BIGTOP-3093:
-----------------------------------------

             Summary: Modifying the way Spark's log4j.properties file is being generated
                 Key: BIGTOP-3093
                 URL: https://issues.apache.org/jira/browse/BIGTOP-3093
             Project: Bigtop
          Issue Type: Improvement
          Components: spark
            Reporter: Amiya Chakraborty
         Attachments: SAMPLE patch-Modify_Spark_log4j.properties_file_generation.diff

*WHY ?*

Currently, when Bigtop's spark puppet module is deployed, it takes /etc/spark/conf/log4j.properties.template (which comes from the Spark distribution) and generates /etc/spark/conf/log4j.properties.

However, there is a disadvantage to this - any custom configuration overrides (originating from .yaml files) containing developer-friendly comments are not successfully parsed and subsequently, can't make to /etc/spark/conf/log4j.properties file.As a result, from troubleshooting/debugging viewpoint; down the line any support eng./developer would find it difficult to interpret significance of these settings.

For example, the following log4j rolling settings would get added to generated /etc/spark/conf/log4j.properties file, but without the associated comments:



_# Set the default spark streaming app log level to INFO. When running spark streaming app, # the logs generated by this class will be rolled on hourly basis to avoid deletion_ 
_# of stdout and stderr logs by LogPusher on crossing the 4 hour retention period log4j.logger.org.apache.spark.streaming=INFO, DRFA-stderr, DRFA-stdout log4j.appender.DRFA-stderr=org.apache.log4j.DailyRollingFileAppender log4j.appender.DRFA-stderr.file=${spark.yarn.app.container.log.dir}/stderr log4j.appender.DRFA-stderr.DatePattern='.'yyyy-MM-dd-HH_ 
_log4j.appender.DRFA-stderr.layout=org.apache.log4j.PatternLayout_ 
_log4j.appender.DRFA-stderr.layout.ConversionPattern=%d\{ISO8601} %p [%t] %c:%m%n_ 
_#Roll stdout logs_ 
_log4j.appender.DRFA-stdout=org.apache.log4j.DailyRollingFileAppender log4j.appender.DRFA-stdout.file=${spark.yarn.app.container.log.dir}/stdout log4j.appender.DRFA-stdout.DatePattern='.'yyyy-MM-dd-HH_ 
_log4j.appender.DRFA-stdout.layout=org.apache.log4j.PatternLayout_ 
_log4j.appender.DRFA-stdout.layout.ConversionPattern=%d\{ISO8601} %p [%t] %c:%m%n

_Gradually, as the Spark's log4j.properties file will grow with numerous configurations; absence of comments will render log4j.properties file difficult to maintain. Besides, given that many Cloud vendors override Spark's log4j.properties configurations; this will be beneficial to substantial number of users. Please find enclosed sample patch file providing glimpse of how the "overrides" attribute is being used. 

OBJECTIVE ?

This Jira intends to expedite the process and get Spark's log4j.properties file be sourced on newly added template rather than being sourced on open source Spark distribution file log4j.properties.template.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)