在Yarn集群中,日志记录是排查问题、监控系统状态的重要手段。默认情况下,Yarn的日志级别通常是INFO或WARN,但在某些情况下,我们可能需要启用DEBUG级别的日志记录来获取更详细的信息。然而,重启Yarn服务可能会导致集群中的任务中断,影响生产环境的稳定性。本文将介绍如何在不重启Yarn服务的情况下启用DEBUG日志记录。
Yarn提供了一个动态调整日志级别的功能,允许我们在不重启服务的情况下修改日志级别。这个功能通过Yarn的ResourceManager和NodeManager的REST API来实现。
ResourceManager是Yarn集群的核心组件,负责资源管理和任务调度。要动态调整ResourceManager的日志级别,可以使用以下命令:
curl -X PUT -H "Content-Type: application/json" -d '{"logLevel": "DEBUG"}' http://<ResourceManager-Host>:8088/ws/v1/cluster/logging
其中,<ResourceManager-Host>
是ResourceManager的主机名或IP地址。执行该命令后,ResourceManager的日志级别将立即调整为DEBUG。
NodeManager是Yarn集群中负责管理单个节点资源的组件。要动态调整NodeManager的日志级别,可以使用以下命令:
curl -X PUT -H "Content-Type: application/json" -d '{"logLevel": "DEBUG"}' http://<NodeManager-Host>:8042/ws/v1/node/logging
其中,<NodeManager-Host>
是NodeManager的主机名或IP地址。执行该命令后,NodeManager的日志级别将立即调整为DEBUG。
在调整日志级别后,可以通过查看Yarn的日志文件来验证是否生效。ResourceManager的日志文件通常位于/var/log/hadoop-yarn/yarn-yarn-resourcemanager-<hostname>.log
,而NodeManager的日志文件通常位于/var/log/hadoop-yarn/yarn-yarn-nodemanager-<hostname>.log
。
打开日志文件,检查日志输出是否包含DEBUG级别的信息。如果看到类似以下的日志输出,说明日志级别调整成功:
DEBUG [main] org.apache.hadoop.yarn.server.resourcemanager.ResourceManager: ResourceManager initialized.
在完成调试后,建议将日志级别恢复为原来的级别,以避免日志文件过大或影响系统性能。可以通过再次调用上述REST API,将logLevel
参数设置为INFO
或WARN
来恢复日志级别。
通过Yarn的动态日志级别调整功能,我们可以在不重启服务的情况下启用DEBUG日志记录,从而在不影响生产环境的情况下获取更详细的日志信息。这种方法不仅方便快捷,还能有效避免因重启服务而导致的任务中断。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/u/4016761/blog/4608929