gpt4 book ai didi

hadoop - sqoop import Job期间如何保持故障恢复

转载 作者:可可西里 更新时间:2023-11-01 16:01:40 25 4
gpt4 key购买 nike

我们计划创建 Oozie 作业,该作业运行 Sqoop 命令以每小时为基础将数据从 SQL 服务器导入 HDFS。但我们面临着挑战,如果该作业在此期间失败,如何发出警报,以及 sqoop 将如何检查哪些数据导入成功,哪些数据仍在等待中。 sqoop导入时是否有维护事务和重试机制的流程。我们也会对他们的失败发出警报。

最佳答案

您可以将 Oozie 的工作流程配置为在失败时发送电子邮件。您可以通过将错误标记从任何操作重定向到发送电子邮件操作来实现此目的。

电子邮件配置的示例如下。

 <action name="send-email">
<email xmlns="uri:oozie:email-action:0.1">
<to>${emailToAddress}</to>
<subject>Failed to import table.</subject>
<body>The following import has failed.
failed the workflow that was trying to perform job --exec import-${tableName}-${environment}-${format}-${db} --verbose
ID= ${wf:id()}
NAME= ${wf:name()}
APP PATH= ${wf:appPath()}
USER= ${wf:user()}
GROUP= ${wf:group()}
NAMENODE= ${nameNode}
JOBTRACKER = ${jobTracker}
QUEUE = ${queueName}
START DATE = ${start}
error message[${wf:errorMessage(wf:lastErrorNode())}]</body>
</email>
<ok to="fail-job"/>
<error to="fail-email"/>
</action>

请注意,电子邮件地址可以由多个逗号分隔。为了正确发送电子邮件,您还需要在 oozie 自定义站点正确配置 oozie 电子邮件客户端。您可能需要配置的参数如下:

Custom oozie-site

oozie.email.smtp.password

oozie.email.from.address

oozie.email.smtp.auth

oozie.email.smtp.host

oozie.email.smtp.port

oozie.email.smtp.username

oozie.service.ProxyUserService.proxyuser.falcon.groups

oozie.service.ProxyUserService.proxyuser.falcon.hosts

关于从 Oozie 3.1 开始的重试,您可以在每个操作中配置参数重试和重试间隔。为此,您可以在操作标签内设置以下参数

<action name="a" retry-max="2" retry-interval="1">
....
</action>

更多信息请访问 Oozie's documentation您可以在 oozie-default.xml 上找到或修改重试和重试间隔默认值。指定了通用默认值 here

关于hadoop - sqoop import Job期间如何保持故障恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38320556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com