E-MapReduceBest practices for EMR Serverless queuesIntegrate EMR Serverless with log service TLS
Copy page
Download PDF
Best practices for EMR Serverless queues
Integrate EMR Serverless with log service TLS
Copy page
Download PDF
Integrate EMR Serverless with log service TLS
EMR Serverless supports integration with the VolcanoEngine log service (TLS) product, delivering job-related operation log data to TLS for unified processing and management. This document introduces the key steps for integrating EMR Serverless with TLS to deliver log data.
Currently, RayJob only supports delivery of Driver logs. Spark supports delivery of both Driver and Executor logs. Logs for other tasks can be viewed in the job instance details.
After completing the TLS-side configuration, you can submit a ticket to contact VolcanoEngine technical support personnel and provide the TopicID, so they can help you complete the EMR-side configuration. Once technical support personnel complete the EMR-side configuration, you can subsequently deliver supported EMR Serverless job log data to your TLS log topic.
After completing the prerequisite steps, you can then view detailed log details in the corresponding project and topic in the TLS console.
tip
When going to the TLS console to view log details, ensure that your account has at least permissions to view log projects and log details in the TLS console.
The supported log types and example content are as follows:
Log types
Examples
Spark Driver logs
{
"__container_name__": "spark-kubernetes-driver",
"__content__": "26/04/29 16:31:19 WARN [main] SparkConf: The configuration key 'spark.scheduler.listenerbus.eventqueue.size' has been deprecated as of Spark 2.3 and may be removed in the future. Please use the new key 'spark.scheduler.listenerbus.eventqueue.capacity' instead.",
"__context_flow__": "1777451480893#c969921b8ec7b233-11690e6******1-0",
"__image_name__": "emr-serverless-online-cn-beijing.cr.volces.com/emr-serverless-engine/spark:3.5.1-py3.12-ubuntu20.04-742",
"__namespace__": "ns-2******-144000******",
"__package_offset__": "1696903452055484",
"__path__": "/var/data/spark-bda2526c-2e42-4c1b-a052-af8a7adb57b5/logs/syslog",
"__pod_name__": "bq-3******-driver",
"__pod_uid__": "48941247-2e26-45fe-bcd0-fd******",
"__tag____receive_time__": "1777451481889",
"__tag__account_id__": "emr_serverless_2******",
"__time__": 1777451480893,
"filename": "syslog"
}
Log delivery only delivers logs to your topic. You need to configure indexes yourself to query. You can extract index fields from the raw data according to TLS prompts.
The common query statements are as follows:
Query by job ID
spark driver, for example: pod_name : "bq-328853200-driver"
spark executor, for example: pod_name: "bq-328853200-exec-7"
rayjob, for example: tag__ray_job_name : "rayjob-328853201"