【问题标题】:AWS Glue ETL job from AWS Redshift to S3 fails从 AWS Redshift 到 S3 的 AWS Glue ETL 作业失败
【发布时间】:2018-01-30 11:13:30
【问题描述】:

我正在尝试使用 AWS Glue 服务来 ETL 一些从 redshift 到 S3 的数据。爬虫成功运行并在数据目录中创建元表,但是当我运行 ETL 作业(由 AWS 生成)时,它在大约 20 分钟后失败,说“资源不可用”。

我看不到在 Cloudwatch 中创建的 AWS 粘合日志或错误日志。当我尝试查看它们时,它显示“找不到日志流。找不到日志流 jr_xxxxxxxxxx。检查它是否正确创建并重试。”

如果您能提供任何解决此问题的指导,我们将不胜感激。

【问题讨论】:

  • 好像是2个问题。第一个导致 ETL 作业失败。第二个问题是没有正确创建日志流。
  • 我目前遇到了第二个问题(未找到日志流),这使我无法识别工作的真正错误。我已经为运行我的工作的角色授予了对 CloudWatch 的完全访问权限(以创建日志组等)。而且我不确定从这里去哪里。

标签: amazon-web-services amazon-s3 amazon-redshift aws-glue


【解决方案1】:

我最近遇到了 Glue Job 引发的 Resource Unavailable

我也无法使用 RDS 在 Glue 中建立直接连接 - 它说“找不到合适的安全组”

我在尝试连接 AWS RDS 和 Redshift 时遇到了这个问题

问题出在 Redshift 使用的安全组上。需要在安全组中放置一个自引用入站规则。

对于不知道什么是自引用入站规则的人,请按照以下步骤操作

1) 转到您正在使用的安全组(VPC -> 安全组)

2) 在入站规则中选择编辑入站规则

3) 添加规则

a) 类型 - 所有流量 b) 协议 - 全部 c) 端口范围 - 全部 d) 源 - 自定义和可用空间中写入您的安全组的首字母并选择它。 e) 保存。

完成了!

如果您的安全组入站规则中缺少此条件

尝试创建连接,您将能够创建连接。

这次也应该工作了。

【讨论】:

    【解决方案2】:

    所以基本上,如果您的 Glue 所在区域没有太多流量,您添加到 Glue 的作业将运行。如果没有可用资源,您需要重新手动重新添加作业,也可以bind yourself to events from CloudWatch via SNS

    此外,您可以将一些参数传递给作业,例如 maximunRetrytimeout

    如果您有Ressource not available,它不会触发重试,因为作业没有失败,它甚至还没有开始。但是,如果您将timeout 设置为60 minutes,它将在该时间之后触发错误,减少您的重试池并重新启动作业。

    【讨论】:

      【解决方案3】:

      我在这里看到的最接近 Glue 文档的内容是:

      如果您在 AWS Glue 中遇到错误,请使用以下解决方案 帮助您找到问题的根源并解决问题。注意 AWS Glue GitHub 存储库在 AWS Glue 常见问题。错误:资源不可用如果 AWS Glue 返回资源不可用消息,您可以查看错误 消息或日志,以帮助您了解有关该问题的更多信息。下列 任务描述了故障排除的一般方法。 • 自定义 DNS 没有反向查找的配置可能会导致 AWS Glue 失败。查看 您的 DNS 配置。如果您使用 Amazon Route 53 或 Microsoft Active Directory,确保有正向和反向 查找。有关更多信息,请参阅在您的 VPC 中设置 DNS (p. 23)。 • 对于您使用的任何连接和开发端点,请检查 您的集群没有用完弹性网络接口。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-13
        • 2021-05-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-29
        • 1970-01-01
        相关资源
        最近更新 更多