Uploaded image for project: 'Hadoop Map/Reduce'
  1. Hadoop Map/Reduce
  2. MAPREDUCE-1648

Use rolling to limit tasklogs

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Won't Fix
    • None
    • None
    • tasktracker

    Description

      There are at least two types of task-logs: syslog and stdlog

      Task-Jvm outputs syslog by log4j with TaskLogAppender, TaskLogAppender looks just like "tail -c", it stores last N byte/line logs in memory(via queue), and do real output only if all logs is commit and Appender is going to close.

      The common problem of TaskLogAppender and 'tail -c' is keep everything in memory and user can't see any log output while task is in progress.

      So I'm going to try RollingFileAppender instead of TaskLogAppender, use MaxFileSize&MaxBackupIndex to limit log file size.

      RollingFileAppender is also suitable for stdout/stderr, just redirect stdout/stderr to log4j via LoggingOutputStream, no client code have to be changed, and RollingFileAppender seems better than 'tail -c' too.

      Attachments

        1. syslog-baidu-v2.patch
          39 kB
          Guilin Sun
        2. MAPREDUCE-1648-v4.patch
          44 kB
          Guilin Sun
        3. mapreduce-1648-design.pdf
          36 kB
          Guilin Sun

        Issue Links

          Activity

            People

              Unassigned Unassigned
              guilinsun Guilin Sun
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: