oozie(5):oozie配置调度HDFS 多action顺序执行

一、实现功能

多个action联合操作,实现复杂功能。

二、步骤

1.复制shell实例,这里直接复制之前做的shell,只留下job.properties和workflow.xml

cp -r oozie-apps/shell  oozie-apps/hdfs

2.修改job.properties

nameNode=hdfs://hadoop:8020
jobTracker=hadoop:8032
queueName=default
examplesRoot=oozie-apps

oozie.wf.application.path=${nameNode}/user/hadoop/${examplesRoot}/hdfs

3.修改workflow.xml

<workflow-app xmlns="uri:oozie:workflow:0.5" name="hdfs-actions-wf">
    
	<start to="mkdir-node"/>
	
	<action name="mkdir-node">
       <fs>
            <mkdir path='${nameNode}/input/demo/test'/>
        </fs>
        <ok to="del-node"/>
        <error to="fail"/>
    </action>
	
	
	<action name="del-node">
       <fs>
           <delete path='${nameNode}/input/demo/test'/>
        </fs>
        <ok to="move-node"/>
        <error to="fail"/>
    </action>
	
	<action name="move-node">
       <fs>
             <move source='${nameNode}/output/part-r-00000' target='${nameNode}/input/demo'/>
        </fs>
        <ok to="chmod-node"/>
        <error to="fail"/>
    </action>
	
	<action name="chmod-node">
       <fs>
            <chmod path='${nameNode}/input/demo' permissions='drwxrwxrw-' dir-files='false' />
        </fs>
        <ok to="end"/>
        <error to="fail"/>
    </action>	
   
   <kill name="fail">
        <message>Shell action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
    </kill>  
    <end name="end"/>
</workflow-app>

备注:

uri:oozie:workflow:0.5这个值需要参考对应版本官网。

4.上传到HDFS对应目录

bin/hdfs dfs -put /opt/modules/oozie-4.1.0-cdh5.7.0/oozie-apps/hdfs/ /user/hadoop/oozie-apps/

5.提交到oozie webconsole执行

bin/oozie job -oozie http://hadoop:11000/oozie -config oozie-apps/hdfs/job.properties -run

即可~

猜你喜欢

转载自blog.csdn.net/u010886217/article/details/84889635
今日推荐