【问题标题】:Oozie java actionOozie Java 动作
【发布时间】:2015-11-04 06:55:21
【问题描述】:
hadoop jar \
/usr/lib/solr/contrib/mr/search-mr-1.0.0-cdh5.4.2-job.jar \
org.apache.solr.hadoop.MapReduceIndexerTool -D \
'mapreduce.map.java.opts=-Xmx500m' --morphline-file \
/home/cloudera/Desktop/response_morphline.conf --output-dir \
hdfs://quickstart.cloudera:8020/user/cloudera/index \
--go-live \
--zk-host 127.0.0.1:2181/solr \
--collection RES \
hdfs://quickstart.cloudera:8020/user/hive/warehouse/esb_response \
--mappers 1 --reducers 1;

我的工作流.xml::

<workflow-app name="ESB_response" xmlns="uri:oozie:workflow:0.5">
    <start to="java-a6ca"/>
    <kill name="Kill">
        <message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
    </kill>
    <action name="java-a6ca">
        <java>
            <job-tracker>${jobTracker}</job-tracker>
            <name-node>${nameNode}</name-node>
            <configuration>
                <property>
                    <name></name>
                    <value></value>
                </property>
            </configuration>
            <main-class>org.apache.solr.hadoop.MapReduceIndexerTool</main-class>
            <java-opts>[{u&#39;value&#39;: u&#39;-Dmapreduce.map.java.opts=-Xmx500m&#39;}]</java-opts>
            <arg>--morphline-file /user/hue/oozie/workspaces/hue-oozie-1446554691.71/response_morphline.conf</arg>
            <arg>--output-dir hdfs://quickstart.cloudera:8020/user/cloudera/index</arg>
            <arg>--go-live</arg>
            <arg>--zk-host 127.0.0.1:2181/solr</arg>
            <arg>--collection RES</arg>
            <arg>--mappers 1</arg>
            <arg>--reducers 1</arg>
            <file>#</file>
            <archive>#</archive>
        </java>
        <ok to="End"/>
        <error to="Kill"/>
    </action>
    <end name="End"/>
</workflow-app>

您好,我需要通过 oozie 安排这项工作吗?任何人都可以帮忙吗?我已经通过hue中的拖放功能创建了这个工作流程..但是它抛出了一个错误:: org.apache.oozie.action.ActionExecutorException:IllegalArgumentException:无法从空字符串创建路径 在 org.apache.oozie.action.ActionExecutor.convertException(ActionExecutor.java:445) 在 org.apache.oozie.action.hadoop.JavaActionExecutor.submitLauncher(JavaActionExecutor.java:1008) 在 org.apache.oozie.action.hadoop.JavaActionExecutor.start(JavaActionExecutor.java:1162) 在 org.apache.oozie.command.wf.ActionStartXCommand.execute(ActionStartXCommand.java:234) 在 org.apache.oozie.command.wf.ActionStartXCommand.execute(ActionStartXCommand.java:64) 在 org.apache.oozie.command.XCommand.call(XCommand.java:286) 在 org.apache.oozie.service.CallableQueueService$CompositeCallable.call(CallableQueueService.java:321) 在 org.apache.oozie.service.CallableQueueService$CompositeCallable.call(CallableQueueService.java:250) 在 org.apache.oozie.service.CallableQueueService$CallableWrapper.run(CallableQueueService.java:175) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 在 java.lang.Thread.run(Thread.java:745)

【问题讨论】:

  • 又一个证明 Hue 作业编辑器没用的证据。有没有内容的 XML 元素,即 &lt;property&gt; &lt;file&gt; &lt;archive&gt; - 请注意,# 的意思是“将原始 HDFS 文件(左)重命名为该本地名称(右)”,因此这是对您的合理解释消息。

标签: solr oozie


【解决方案1】:

尝试从 workflow.xml 中删除 &lt;file&gt;#&lt;/file&gt;&lt;archive&gt;#&lt;/archive&gt;

【讨论】:

    【解决方案2】:

    如果您在 oozie 工作流程中使用和标记,那么我建议您提供要包含在 oozie 工作流程中的文件的完整路径。

    因为这里 Oozie 正在寻找您所引用的文件,但它没有得到。

    因此,如果您不想在 oozie 作业中添加任何文件,请在标记中传递文件路径或删除路径。

    问候

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-30
      • 1970-01-01
      • 2014-09-22
      • 2017-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多