问题描述:
如果您在AWS EMR上运行Apache Spark作业并启用了时间线服务器,但在访问时间线UI时未能显示作业日志,则可能会遇到该问题。
要使作业日志出现在时间线UI中,您需要在时间线服务器的配置文件中添加以下属性:
yarn.timeline-service.generic-application-history.store-class = org.apache.hadoop.yarn.server.timeline.LeveldbTimelineStore
请遵循以下步骤:
使用SSH连接到您的EMR群集。 在conf目录下创建yarn-site.xml:
cd /etc/hadoop/conf sudo vi yarn-site.xml
将以下内容添加到yarn-site.xml:
保存和关闭文件。 重启时间线服务器:
sudo initctl stop hadoop-yarn-timelineserver sudo initctl start hadoop-yarn-timelineserver
等待几分钟,然后访问您的时间线UI页面,您应该能够看到应用程序的日志。
请注意,这些修改只适用于使用时间线服务器的作业。您还可以使用Log4j配置文件将其他Spark应用程序的日志发送到实时日志聚合器,例如AWS CloudWatch日志。