从AWS Redshift到S3的AWS Glue ETL作业失败

时间:2017-08-22 08:50:42

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

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

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

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

3 个答案:

答案 0 :(得分:3)

enter image description here

基本上,如果您的胶水区域没有太多流量,那么您添加到Glue的工作将会运行。如果没有可用资源,您需要再次手动重新添加作业,或者您也可以bind yourself to events from CloudWatch via SNS

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

如果您有Ressource not available,它不会触发重试,因为作业没有失败,它甚至没有启动。但是如果你设置timeout让我们说60 minutes,它会在那之后触发错误,减少重试池并重新启动作业。

答案 1 :(得分:1)

我在Glue文档中最接近的就是:

  

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

答案 2 :(得分:0)

最近,我对Glue Job抛出的“资源不可用”感到困惑

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

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

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

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

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

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

3)添加规则

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

完成!

如果您在“安全组入站规则”中缺少此条件,则

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

这次工作也应该工作。