配置WebUI上查看Container日志
配置场景
当Yarn配置“yarn.log-aggregation-enable”为“true”时,就开启了container日志聚合功能。日志聚合功能是指:当应用在Yarn上执行完成后,NodeManager将本节点中所有container的日志聚合到HDFS中,并删除本地日志。详情请参见配置Container日志聚合功能。
然而,开启container日志聚合功能之后,其日志聚合至HDFS目录中,只能通过获取HDFS文件来查看日志。开源Spark和Yarn服务不支持通过WebUI查看聚合后的日志。
因此,Spark在此基础上进行了功能增强。如图1所示,在HistoryServer页面添加“AggregatedLogs”页签,可以通过“logs”链接查看聚合的日志。
配置描述
为了使WebUI页面显示日志,需要将聚合日志进行解析和展现。Spark是通过Hadoop的JobHistoryServer来解析聚合日志的,所以您可以通过“spark.jobhistory.address”参数,指定JobHistoryServer页面地址,即可完成解析和展现。
参数入口:
在应用提交时通过“--conf”设置这些参数,或者在客户端的“spark-defaults.conf”配置文件中调整如下参数。
- 此功能依赖Hadoop中的JobHistoryServer服务,所以使用聚合日志之前需要保证JobHistoryServer服务已经运行正常。
- 如果参数值为空,“AggregatedLogs”页签仍然存在,但是无法通过logs链接查看日志。
- 只有当App已经running,HDFS上已经有该App的事件日志文件时才能查看到聚合的container日志。
- 正在运行的任务的日志,用户可以通过“Executors”页面的日志链接进行查看,任务结束后日志会汇聚到HDFS上,“Executors”页面的日志链接就会失效,此时用户可以通过“AggregatedLogs”页面的logs链接查看聚合日志。
参数 |
描述 |
默认值 |
---|---|---|
spark.jobhistory.address |
JobHistoryServer页面的地址,格式:http(s)://ip:port/jobhistory。例如,将参数值设置为“https://10.92.115.1:26014/jobhistory”。 默认值为空,表示不能从WebUI查看container聚合日志。 修改参数后,需重启服务使得配置生效。 |
- |