Changing the MapReduce service logging level

MapReduce service logging writes to the $PMR_HOME/logs/user.pmr.service.application.index.log file. By default, this log tracks informational (INFO) level messages. To change this log level, add the SERVICE_LOG_LEVEL environment variable at the execution host level, or at the application level.

Procedure

  • At the execution host level, modify the $PMR_HOME/conf/pmr-env.sh file to include export SERVICE_LOG_LEVEL=level.

    Valid values for level are OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, and ALL.

    By default, MapReduce service logging tracks informational (INFO) level messages. You can change the log level to show more detailed information, such as for debugging purposes. For example, to change the MapReduce service logging to capture debugging level information, set:
    source ${SOAM_HOME}/mapreduce/conf/pmr-env.sh
    
    export SERVICE_LOG_LEVEL=DEBUG
  • At the application level, add <env name="SERVICE_LOG_LEVEL">DEBUG</env> to for the MapReduceService service.

    Valid log level values are OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, and ALL.

    By default, MapReduce service logging tracks informational (INFO) level messages. You can change the log level to show more detailed information, such as for debugging purposes. For example, to change the MapReduce service logging to capture debugging level information, set:
    <osType fileNamePattern="s" logDirectory="${SOAM_HOME}/mapreduce/logs/tasklogs" 
    	name="all" startCmd="${PMR_HOME}/${PMR_VERSION}/${EGO_MACHINE_TYPE}
    	/etc/RunMapReduceService.sh"
     subDirectoryPattern="%applicationName%/%sessionId%/task_%taskId%" 
    	workDir="${PMR_HOME}/work/${SUB_WORK_DIR}">
    		<env name="PMR_HOME">${SOAM_HOME}/mapreduce</env>
    		<...>
    	<env name="SERVICE_LOG_LEVEL">DEBUG</env>
    </osType>

Results

In the service log, you will see MapReduce service debug logging information. For example:
14/03/06 09:37:53 DEBUG MRServiceJava.MRService: session id = <18306>