配置 Spark 日志级别信息
通过查看 Analytics Engine powered by Apache Spark Spark应用程序生成的日志,审查正在运行的应用程序并找出存在的问题。 可用的标准日志级别包括 ALL、TRACE、DEBUG、INFO、WARN、ERROR、FATAL 和 OFF。 默认情况下, Analytics Engine powered by Apache Spark Spark 应用程序以 Spark INFO 级别进行日志记录。 您可以配置日志级别,以显示相关信息并减少冗长的日志条目。
Analytics Engine powered by Apache Spark 日志配置用于配置 Spark 框架的日志级别信息。 这不会影响用户代码在 Spark 应用程序中使用 ' logger.info ()'、' logger.warn ()'、'print()' 或 'show()' 等命令生成的日志。
此功能仅适用于 Spark 应用程序。 此功能不适用于 Spark 交互式应用程序或 Spark 内核。
配置选项
配置以下 Analytics Engine powered by Apache Spark 日志以设置Spark应用程序的日志级别:
- Spark 驱动程序日志(通过使用
ae.spark.driver.log.level) - Spark 执行器日志(通过使用
ae.spark.executor.log.level)
在配置 Analytics Engine powered by Apache Spark 实例或提交Spark应用程序时,请在“Spark配置”部分指定该选项。 您可以指定以下标准日志级别值:
- 全部
- 跟踪
- DEBUG
- 注意
- WARN
- 错误
- 致命
- 关闭
驱动程序和执行器的日志级别默认值均为 INFO.
您可以通过以下两种方式应用该配置:
- 实例级配置
- 应用程序级配置
在实例级别配置 Spark 日志级别信息
在配置 Analytics Engine powered by Apache Spark 实例时,请在default_config属性下指定日志级别配置。 如需了解更多信息,请参阅 “Spark 默认配置”。
示例:
"default_config": {
"ae.spark.driver.log.level": "WARN",
"ae.spark.executor.log.level": "ERROR"
}
在应用程序级别配置 Spark 日志级别信息
提交任务时,请在有效负载中的 conf. 部分指定相关选项。 如需了解更多信息,请参阅 Spark 应用程序。
示例:
{
"conf": {
"ae.spark.driver.log.level":"WARN",
"ae.spark.executor.log.level":"WARN",
}
}
示例用例
在实例级别设置 Spark 的日志级别配置 :该示例用例考虑了以下场景:您部署一个 Analytics Engine powered by Apache Spark 实例,并配置日志级别,使该实例中的所有应用程序均以 ERROR 级别进行日志记录。
将以下配置设置为 Spark 的默认配置:
- ae.spark.driver.log.level = 错误
- ae.spark.executor.log.level = 错误
设置默认 Spark 配置后,提交至该实例的所有应用程序的日志级别将设置为
ERROR(前提是应用程序有效载荷在提交时未指定 Spark 配置)。
在作业级别设置 Spark 日志级别配置 :本示例用例假设您有一个应用程序,且日志级别已配置为 INFO 级别。 您可以在有效载荷中指定 Spark 配置。 请看以下示例有效载荷:
curl -k -X POST <V4_JOBS_API_ENDPOINT> -H "Authorization: ZenApiKey ${TOKEN}" -d '{
"application_details": {
"application": "/opt/ibm/spark/examples/src/main/python/wordcount.py",
"arguments": ["/opt/ibm/spark/examples/src/main/resources/people.txt"],
"conf": {
"ae.spark.driver.log.level":"DEBUG",
"ae.spark.executor.log.level":"DEBUG",
}
}
}'
在示例用例中,Spark 应用程序覆盖了在实例级别设置的 Spark 日志级别配置,即将其从 ERROR 更改为 INFO。
启用历史日志的自动清理功能
您可以配置 Spark 历史记录,以启用 Spark 历史记录日志的自动清理功能。 以下默认配置会自动清理超过 30 天的历史日志信息。 它还会每天监控日志,删除超过30天的历史日志。
示例:
"default_config": {
"spark.history.fs.cleaner.enabled": "true"
"spark.history.fs.cleaner.interval": "1d"
"spark.history.fs.cleaner.maxAge": "30d"
}