Oozie工作流程没有错误地结束,但shell动作没有做任何事情

时间:2017-04-06 07:51:58

标签: bash oozie

如果您想知道我是如何解决的,请转到here

我的工作流程看起来像这样。

<workflow-app xmlns="uri:oozie:workflow:0.4" name="${PROJECT_NAME}">
  <global>
    <job-tracker>${JOB_TRACKER}</job-tracker>
    <name-node>${NAME_NODE}</name-node>
    <job-xml>hive-site.xml</job-xml>
    <configuration>
      <property>
        <name>mapreduce.job.queuename</name>
        <value>${QUEUE_NAME}</value>
      </property>
      <property>
        <name>mapreduce.job.reduces</name>
        <value>${REDUCE_TASKS}</value>
      </property>
      <property>
        <name>today_without_dash</name>
        <value>${today_without_dash}</value>
      </property>
      <property>
        <name>yesterday_with_dash</name>
        <value>${yesterday_with_dash}</value>
      </property>
    </configuration>
  </global>

  <start to="start_fair_usage"/>

  <action name="start_fair_usage">
    <shell xmlns="uri:oozie:shell-action:0.1">
      <job-tracker>${JOB_TRACKER}</job-tracker>
      <name-node>${NAME_NODE}</name-node>
      <exec>${copy_file}</exec>      
      <argument>${today_without_dash}</argument>
      <argument>${mta}</argument>
      <!-- <file>${path}#${start_fair_usage}</file> -->
      <file>${path}${copy_file}#${copy_file}</file>
      <capture-output/>
    </shell>
    <ok to="END"/>
    <error to="KILL"/>
  </action>

copy_file.sh

# directories in comverse where sub mtr rcr files are kept
echo "directories"
dirs=(
    /user/comverse/data/${today_without_dash}_B
    )

# clear the hdfs directory of old files and copy new files from comverse
echo "remove old files "${mta}

hadoop fs -rm -skipTrash /apps/hive/warehouse/db.db/fair_usage/fct_evkuzmin/file_${mta}/*

for i in $(hadoop fs -ls "${dirs[@]}" | egrep ${mta}.gz | awk -F " " '{print $8}')
do
    hadoop fs -cp $i /apps/hive/warehouse/db.db/fair_usage/fct_evkuzmin/file_${mta}
    echo "copy file - "${i}
done

echo "end copy "${mta}" files"

${today_without_dash}来自协调员

<property>
  <name>today_without_dash</name>
  <value>${coord:formatTime(coord:nominalTime(),'yyyyMMdd')}</value>
</property>

没有错误,但它也不起作用,我不明白为什么。

中有一些文件
/apps/hive/warehouse/db.db/fair_usage/fct_evkuzmin/file_${mta}

目录,但不会被删除。也没有任何东西被复制。这个目录中有文件。

/user/comverse/data/${today_without_dash}_B

${mta}来自job.properties。它的价值是mta

copy_file.sh在我通过CLI启动时没有OOZIE

EDIT 我四处询问并被告知这可能是因为我试图复制的文件太大了。

0 个答案:

没有答案