假设我已经配置了10个sqoop作业。如果其中一个失败了我怎么知道?在sqoop中有什么配置吗?
cgvd09ve1#
您可以为此用例创建oozie工作流。创建一个java操作,用于在失败时发送电子邮件。您可以编写一个小的java程序来发送包含所需消息的电子邮件,并通过java操作调用它。
tzxcd3kk2#
@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
vq8itlhq3#
当你运行一个sqoop作业时,它会给你一个mapreduce jobid;类似于“应用程序\工作\ 1500540444935 \ 0302”,您可以在您的资源管理器中查看。hadoopresourcemanager还提供restapi来查询作业的状态。restapi是—http://resourcemanagerip:resourcemanagerport(通常为8088)/ws/v1/cluster/apps/(作业id)您可以使用此api获取作业的状态。
3条答案
按热度按时间cgvd09ve1#
您可以为此用例创建oozie工作流。创建一个java操作,用于在失败时发送电子邮件。您可以编写一个小的java程序来发送包含所需消息的电子邮件,并通过java操作调用它。
tzxcd3kk2#
@divinedragon您可以将所有sqoop作业放在一个shell脚本中,并编写一个小代码来发送失败状态。失败状态邮件shell代码如下所示:
定义电子邮件功能
在每个作业之后,检查失败状态。如果作业失败,则发送电子邮件
vq8itlhq3#
当你运行一个sqoop作业时,它会给你一个mapreduce jobid;类似于“应用程序\工作\ 1500540444935 \ 0302”,您可以在您的资源管理器中查看。hadoopresourcemanager还提供restapi来查询作业的状态。
restapi是—http://resourcemanagerip:resourcemanagerport(通常为8088)/ws/v1/cluster/apps/(作业id)
您可以使用此api获取作业的状态。