Setting Hadoop Service Log Levels at Runtime

You can dynamically change the log levels of Hadoop services (such as YARN and HDFS) using the hadoop daemonlog command without needing to restart the services.

Key Notes

  1. Ports: Replace <host:port> with the admin/HTTP port of the service (not the web UI port).

  2. Class Names: Use the fully qualified class name of the service’s main class (e.g., org.apache.hadoop.yarn.server.resourcemanager.ResourceManager).

  3. Log Levels: Supported levels: TRACE, DEBUG, INFO, WARN, ERROR, FATAL.

  4. Ensure that the mentioned commands on this page are executed by the user running the respective process. For NameNode-related operations, specifically use the NN service keytab and the hdfs user to initialize the Kerberos token before running the command.

  5. Persistence: Changes are temporary and reset after service restart. For permanent changes, modify log4j.properties and restart the service.

YARN Services

Resource Manager

  • Get Current Log Level

hadoop daemonlog -getlevel <resourcemanager_host>:8088 \\ org.apache.hadoop.yarn.server.resourcemanager.ResourceManager

The example output is as follows.

Connecting to <http://rm-host:8088/logLevel?log=org.apache.hadoop.yarn.server.resourcemanager.ResourceManager Submitted Class Name: org.apache.hadoop.yarn.server.resourcemanager.ResourceManager Log Class: org.apache.commons.logging.impl.Log4JLogger Effective Level: INFO
  • Set Log Level to Debug

hadoop daemonlog -setlevel <resourcemanager_host>:8088 \\ org.apache.hadoop.yarn.server.resourcemanager.ResourceManager DEBUG

The example output is as follows.

Connecting to http://rm-host:8088/logLevel?log=org.apache.hadoop.yarn.server.resourcemanager.ResourceManager&level=DEBUG Submitted Class Name: org.apache.hadoop.yarn.server.resourcemanager.ResourceManager Log Class: org.apache.commons.logging.impl.Log4JLogger Submitted Level: DEBUG Setting Level to DEBUG ... Effective Level: DEBUG

Node Manager

  • Get Current Log Level

hadoop daemonlog -getlevel <nodemanager_host>:8042 \\ org.apache.hadoop.yarn.server.nodemanager.NodeManager

The example output is as follows.

Connecting to http://trial04.acceldata.dvl:8042/logLevel?log=org.apache.hadoop.yarn.server.nodemanager.NodeManager Submitted Class Name: org.apache.hadoop.yarn.server.nodemanager.NodeManager Log Class: org.apache.commons.logging
  • Set Log Level to WARN

hadoop daemonlog -setlevel <nodemanager_host>:8042 \\ org.apache.hadoop.yarn.server.nodemanager.NodeManager WARN

The example output is as follows.

Connecting to http://NM-Host:8042/logLevel?log=org.apache.hadoop.yarn.server.nodemanager.NodeManager&level=WARN Submitted Class Name: org.apache.hadoop.yarn.server.nodemanager.NodeManager Log Class: org.apache.commons.logging.impl.Log4JLogger Submitted Level: WARN Setting Level to WARN ... Effective Level: WARN

HDFS Services

NameNode

  • Get Log Level

hadoop daemonlog -getlevel <namenode_host>:50070 \\ org.apache.hadoop.hdfs.server.namenode.NameNode

The example output is as follows.

Connecting to http://NN-HOST:50070/logLevel?log=org.apache.hadoop.hdfs.server.namenode.NameNode Submitted Class Name: org.apache.hadoop.hdfs.server.namenode.NameNode Log Class: org.apache.commons.logging.impl.Log4JLogger Effective Level: INFO
  • Set Log Level to Error

hadoop daemonlog -setlevel <namenode_host>:50070 \\ org.apache.hadoop.hdfs.server.namenode.NameNode ERROR

The example output is as follows.

Connecting to http://NN-HOST:50070/logLevel?log=org.apache.hadoop.hdfs.server.namenode.NameNode&level=ERROR Submitted Class Name: org.apache.hadoop.hdfs.server.namenode.NameNode Log Class: org.apache.commons.logging.impl.Log4JLogger Submitted Level: ERROR Setting Level to ERROR ... Effective Level: ERROR

DataNode

  • Get Log Level

hadoop daemonlog -getlevel <datanode_host>:50075 \\ org.apache.hadoop.hdfs.server.datanode.DataNode

The example output is as follows.

Connecting to http://DN-HOST:50075/logLevel?log=org.apache.hadoop.hdfs.server.datanode.DataNode Submitted Class Name: org.apache.hadoop.hdfs.server.datanode.DataNode Log Class: org.apache.commons.logging.impl.Log4JLogger Effective Level: INFO
  • Set Log Level to Debug

hadoop daemonlog -setlevel <datanode_host>:50075 \\ org.apache.hadoop.hdfs.server.datanode.DataNode DEBUG

The example output is as follows.

Connecting to http://DN-HOST:50075/logLevel?log=org.apache.hadoop.hdfs.server.datanode.DataNode&level=DEBUG Submitted Class Name: org.apache.hadoop.hdfs.server.datanode.DataNode Log Class: org.apache.commons.logging.impl.Log4JLogger Submitted Level: DEBUG Setting Level to DEBUG ... Effective Level: DEBUG

Other Services

MapReduce JobHistory Server

  • Set Log Level

hadoop daemonlog -setlevel <historyserver_host>:19888 \\ org.apache.hadoop.mapreduce.v2.hs.JobHistoryServer DEBUG

The example output is as follows.

Connecting to http://MR-HOST:19888/logLevel?log=org.apache.hadoop.mapreduce.v2.hs.JobHistoryServer&level=DEBUG Submitted Class Name: org.apache.hadoop.mapreduce.v2.hs.JobHistoryServer Log Class: org.apache.commons.logging.impl.Log4JLogger Submitted Level: DEBUG Setting Level to DEBUG ... Effective Level: DEBUG

Timeline Server

  • Set Log Level

hadoop daemonlog -setlevel <timelineserver_host>:8188 \\ org.apache.hadoop.yarn.server.timelineservice.reader.TimelineReaderServer WARN

The example output is as follows.

Connecting to http://Timeline-Host:8188/logLevel?log=org.apache.hadoop.yarn.server.timelineservice.reader.TimelineReaderServer&level=WARN Submitted Class Name: org.apache.hadoop.yarn.server.timelineservice.reader.TimelineReaderServer Log Class: org.apache.commons.logging.impl.Log4JLogger Submitted Level: WARN Setting Level to WARN ... Effective Level: WARN

Verification

  • Check logs in real-time

tail -f /var/log/hadoop-yarn/yarn-*-resourcemanager-*.log
  • Confirm log level updates

hadoop daemonlog -getlevel <host:port> <classname>

Example Summary

Service

Command (Set to Debug)

ResourceManager

hadoop daemonlog -setlevel rm-host:8088 org.apache.hadoop.yarn.server.resourcemanager.ResourceManager DEBUG

NodeManager

hadoop daemonlog -setlevel nm-host:8042 org.apache.hadoop.yarn.server.nodemanager.NodeManager DEBUG

NameNode

hadoop daemonlog -setlevel nn-host:9870 org.apache.hadoop.hdfs.server.namenode.NameNode DEBUG

For HTTPS clusters, add -protocol https to the command.

  Last updated