故障排除
日志记录
EMR on EKS 使用 Spark 资源配置文件来拆分作业执行。Amazon EMR on EKS 使用用户配置文件来运行您提供的代码,而系统配置文件强制执行 Lake Formation 策略。您可以通过使用 MonitoringConfiguration 配置 StartJobRun 请求来访问以用户配置文件运行的容器的日志。
Spark 历史记录服务器
Spark History Server 包含从用户配置文件生成的所有 Spark 事件以及从系统驱动程序生成的编辑事件。您可以在执行程序选项卡中查看用户和系统驱动程序中的所有容器。但日志链接仅适用于用户配置文件。
由于 Lake Formation 权限不足,作业失败
确保您的作业执行角色有权在您要访问的表上运行 SELECT 和 DESCRIBE。
RDD 作业执行失败
EMR on EKS 目前不支持在启用了 Lake Formation 的作业上进行弹性分布式数据集 (RDD) 操作。
无法访问 Amazon S3 中的数据文件
确保您已在 Lake Formation 中注册数据湖的位置。
安全验证异常
EMR on EKS 检测到安全验证错误。请联系 Amazon 支持寻求帮助。
跨账户共享 Amazon Glue Data Catalog 和表
您可以跨账户共享数据库和表,且仍可使用 Lake Formation。有关更多信息,请参阅 Lake Formation 中的跨账户数据共享和如何使用 Amazon Lake Formation 跨账户共享 Amazon Glue Data Catalog 和表?
未设置 Amazon 区域时,Iceberg 作业引发初始化错误
消息如下:
25/02/25 13:33:19 ERROR SparkFGACExceptionSanitizer: Client received error with id = b921f9e6-f655-491f-b8bd-b2842cdc20c7, reason = IllegalArgumentException, message = Cannot initialize LakeFormationAwsClientFactory, please set client.region to a valid aws region
确保 Spark 配置 spark.sql.catalog. 设置为有效的区域。catalog_name.client.region
Iceberg 作业引发 SparkUnsupportedOperationException
消息如下:
25/02/25 13:53:15 ERROR SparkFGACExceptionSanitizer: Client received error with id = 921fef42-0800-448b-bef5-d283d1278ce0, reason = SparkUnsupportedOperationException, message = Either glue.id or glue.account-id is set with non-default account. Cross account access with fine-grained access control is only supported with AWS Resource Access Manager.
确保 Spark 配置 spark.sql.catalog. 设置为有效的账户 ID。catalog_name.glue.account-id
在 MERGE 操作期间,Iceberg 作业失败并显示“403 访问被拒绝”
消息如下:
software.amazon.awssdk.services.s3.model.S3Exception: Access Denied (Service: S3, Status Code: 403, ... at software.amazon.awssdk.services.s3.DefaultS3Client.deleteObject(DefaultS3Client.java:3365) at org.apache.iceberg.aws.s3.S3FileIO.deleteFile(S3FileIO.java:162) at org.apache.iceberg.io.FileIO.deleteFile(FileIO.java:86) at org.apache.iceberg.io.RollingFileWriter.closeCurrentWriter(RollingFileWriter.java:129)
通过添加以下属性在 Spark 中禁用 S3 删除操作。--conf spark.sql.catalog.。s3-table-name.s3.delete-enabled=false