考虑我配置了10个sqoop作业。如果其中一个失败,我怎么知道? sqoop中是否有任何配置?
答案 0 :(得分:0)
您可以为此用例创建oozie工作流程。创建用于在发生故障时发送电子邮件的java操作。 您可以编写一个小型java程序来发送包含所需消息的电子邮件,并通过Java操作调用它。
答案 1 :(得分:0)
@divinedragon您可以将所有sqoop作业放在shell脚本中并编写一个小代码来发送失败状态。故障状态邮件Shell代码如下所示:
定义电子邮件功能
email_func_fail()
{
mail -s "FAILED: Status job failed for date" -c "${CC_LIST}" "$TO_ADDRESS" < ${log_file}
}
每个作业后,检查失败状态。如果工作失败,则发送电子邮件
if [ $? -ne 0 ]
then
email_func_fail
exit 1
fi
答案 2 :(得分:0)
运行sqoop作业时,它会为您提供MapReduce jobid;像&#34; application_job_1500540444935_0302&#34;您可以在资源管理器中查看。 Hadoop resourcemanager还提供RestApi来查询您的工作状态。
RestApi是 - &#34; http://ResourceManagerIP:ResourceManagerPort(通常是8088)/ ws / v1 / cluster / apps /(job_id)&#34;
您可以使用此API来获取您的工作状态。