如何将配置传递给Oozie电子邮件操作

时间:2015-02-23 11:31:10

标签: hadoop oozie hdinsight

我有一个简单的oozie工作流程,可以执行猪动作并在发生故障时发送电子邮件。

电子邮件操作节点:

<action name="send_email_on_error">
        <email xmlns="uri:oozie:email-action:0.1">
            <job-xml>oozie-site.xml</job-xml>
            <to>ilona@aniways.com</to>
            <subject>Oozie Error</subject>
            <body>error message[${wf:errorMessage(wf:lastErrorNode())}]</body>
        </email>
        <ok to="fail"/>
        <error to="fail"/>
    </action>

我创建了一个oozie-site.xml文件,并在其中添加了以下属性:

<property>
        <name>oozie.email.smtp.host</name>
        <value>smtp.gmail.com</value>
    </property>
    <property>
        <name>oozie.email.smtp.port</name>
        <value>587</value>
    </property>
    <property>
        <name>oozie.email.from.address</name>
        <value>ilona@aniways.com</value>
    </property>

尝试部署作业时出现错误:

E0701: XML schema error, cvc-complex-type.2.4.a: Invalid content was found starting with element 'job-xml'. One of '{"uri:oozie:email-action:0.1":to}' is expected.

如何将此必要配置传递给Oozie?

2 个答案:

答案 0 :(得分:0)

job-xml属性错误。取下它,它应该工作正常。配置应自动读出。

答案 1 :(得分:0)

默认情况下会加载oozie-site.xml,因此需要明确包含它。 从操作中删除以下行:

<job-xml>oozie-site.xml</job-xml>

现在应该可以了。