IBM Cloud Docs
配置 Spark 日志级别信息

配置 Spark 日志级别信息

通过使用 IBM Analytics Engine Spark 应用程序生成的日志,查看运行的应用程序并确定存在的问题。 可用的标准日志记录级别为 ALL,TRACE,DEBUG,INFO,WARN,ERROR,FATAL 和 OFF。 缺省情况下,Analytics Engine Spark 应用程序在 WARN 日志级别针对 Spark 驱动程序进行日志记录,而在 WARN 日志级别针对 Spark 执行程序进行日志记录。 您可以配置日志记录级别以显示相关消息和较少的详细消息。

IBM Analytics Engine 日志记录配置用于配置 Spark 框架的日志级别信息。 它不会影响用户代码使用命令 (例如 Spark 应用程序中的 "logger.info()","logger.warn()","print ()" 或 "show ()") 编写的日志。

配置选项

配置以下 IBM Analytics Engine 日志以设置 Spark 应用程序日志级别:

  • Spark 驱动程序日志 (通过使用 ae.spark.driver.log.level)
  • Spark 执行程序日志 (通过使用 ae.spark.executor.log.level)

在供应 IBM Analytics Engine 实例或提交 Spark 应用程序时,请在“Spark 配置”部分中指定选项。 您可以指定以下标准日志级别值:

  • 所有
  • 跟踪
  • DEBUG
  • 注意
  • 警告
  • 错误
  • FATAL
  • 关闭

驱动程序日志级别的缺省值为 WARN,执行程序日志级别为 OFF

可以通过以下两种方式应用配置:

  • 实例级别配置
  • 应用程序级别配置

在实例级别配置 Spark 日志级别信息

在供应 IBM Analytics Engine 实例时,请在 default_config 属性下指定日志级别配置。 有关更多信息,请参阅 缺省 Spark 配置

示例:


    "default_config": {
        "ae.spark.driver.log.level": "WARN",
        "ae.spark.executor.log.level": "ERROR"
    }

在应用程序级别配置 Spark 日志级别信息

在提交作业时,请在 conf 下的有效内容中指定选项。 有关更多信息,请参阅 Spark 应用程序 REST API

示例:


{
     "conf": {
	"ae.spark.driver.log.level":"WARN",
	"ae.spark.executor.log.level":"WARN",
     }
}

样本用例

在实例级别设置日志级别 Spark 配置: 样本用例考虑您供应 IBM Analytics Engine 实例并配置日志级别以使实例中的所有应用程序都记录在 ERROR 中的场景。

  1. 将以下配置设置为缺省 Spark 配置:

    • ae.spark.driver.log.level = 错误
    • ae.spark.executor.log.level = 错误

    设置缺省 Spark 配置后,提交到实例的所有应用程序的日志级别将设置为 ERROR (前提是应用程序有效内容在提交期间未指定 Spark 配置)。

在作业级别设置日志级别 Spark 配置: 样本用例考虑您具有应用程序和日志级别 configuired 的场景,这样会在 INFO 级别记录日志。 您可以在有效内容中指定 Spark 配置。 考虑样本有效内容:

{
  "application_details": {
     "application": "cos://<application-bucket-name>.<cos-reference-name>/my_spark_application.py",
     "arguments": ["arg1", "arg2"],
     "conf": {
        "spark.hadoop.fs.cos.<cos-reference-name>.endpoint": "https://s3.direct.us-south.cloud-object-storage.appdomain.cloud",
        "spark.hadoop.fs.cos.<cos-reference-name>.access.key": "<access_key>",
        "spark.hadoop.fs.cos.<cos-reference-name>.secret.key": "<secret_key>",
        "spark.app.name": "MySparkApp",
     "ae.spark.driver.log.level":"INFO",
     "ae.spark.executor.log.level":"INFO",
     }
  }
}

样本用例 中,Spark 应用程序将覆盖在实例级别设置的日志级别 Spark 配置,即 ERROR 到 INFO。