@xtccc
2016-01-20T05:32:27.000000Z
字数 1754
阅读 2322
Oozie
参考链接:
Workflow app必须被安装在HDFS中,它的目录内容如下:
- /workflow.xml
- /config-default.xml
|
- /lib/ (*.jar; *.so)
Action nodes所需的全部配置文件与脚本文件都应该放在workflow app的HDFS目录之中。
在lib目录中的所有.jar和.so文件都将被自动添加到map-reduce jobs和pig jobs的classpath和LD_PATH中。
bin/oozie job -oozie http://[OOZIE_URL]:11000/oozie -config [PATH_TO_JOB.PROPERTIES] -run
bin/oozie validate [LOCAL_PATH_TO_WORFKLOW_XML]
bin/oozie job -oozie http://[OOZIE_URL]:11000/oozie -info [WORKFLOW_JOB_ID]
需求
- 删除目录
/user/tao/outputPath- 新建目录
/user/tao/new-Output- 创建文件
/user/tao/my-test-file.data- 将新建的文件move to新建的目录中
实现步骤
首先创建本地目录 /disk1/users/tao/oozie/examples/apps/xt,然后在该目录下创建2个文件
job.properties文件
namenode=hdfs://nameservice1jobTracker=ecs2:njzd.com:8032HdfsDir=${namenode}/user/taooozie.wf.application.path=${namenode}/user/tao/oozie/examples/apps/xt/workflow.xml
workflow.xml文件
<workflow-app name="xt-fs-wf" xmlns="uri:oozie:workflow:0.5"><start to="fs-node"/><action name="fs-node"><fs><delete path='${HdfsDir}/outputPath'/><mkdir path='${HdfsDir}/new-Output'/><touchz path='${HdfsDir}/my-test-file.data'/><move source='${HdfsDir}/my-test-file.data' target='${HdfsDir}/new-Output'/></fs><ok to="end-node"/><error to="kill-node"/></action><kill name="kill-node"><message>The action Fs(HDFS) is killed</message></kill><end name="end-node"/></workflow-app>
部署运行
/disk1/users/tao/oozie/examples/apps/xt放入HDFS目录/user/tao/oozie/examples/apps其中,ecs3.njzd.com是Oozie server所在的节点,11000是Oozie Http Port,hdfs://nameservice1是HDFS HA的URL,ecs2:njzd.com:8032是YARN的ResourceManager
在运行时,HDFS中并不需要存在文件job.properties,但是在运行提交命令时它必须存在于本地文件系统中。
