[关闭]
@xtccc 2016-01-20T13:32:27.000000Z 字数 1754 阅读 2101

Workflow Examples

给我写信
GitHub

此处输入图片的描述

Oozie



参考链接:


1. 部署Workflow App


Workflow app必须被安装在HDFS中,它的目录内容如下:

    - /workflow.xml
    - /config-default.xml
    |
    - /lib/ (*.jar; *.so)

Action nodes所需的全部配置文件与脚本文件都应该放在workflow app的HDFS目录之中。

lib目录中的所有.jar和.so文件都将被自动添加到map-reduce jobs和pig jobs的classpathLD_PATH中。

1.1 常用命令

1.1.1 提交Workflow Job

  1. bin/oozie job -oozie http://[OOZIE_URL]:11000/oozie -config [PATH_TO_JOB.PROPERTIES] -run

1.1.2 检查workflow.xml的正确性

  1. bin/oozie validate [LOCAL_PATH_TO_WORFKLOW_XML]

1.1.3 查看Worflow Job的运行状态

  1. bin/oozie job -oozie http://[OOZIE_URL]:11000/oozie -info [WORKFLOW_JOB_ID]




2. Fs(HDFS)实例


需求

  1. 删除目录 /user/tao/outputPath
  2. 新建目录 /user/tao/new-Output
  3. 创建文件 /user/tao/my-test-file.data
  4. 将新建的文件move to新建的目录中



实现步骤

首先创建本地目录 /disk1/users/tao/oozie/examples/apps/xt,然后在该目录下创建2个文件

  1. job.properties文件

    1. namenode=hdfs://nameservice1
    2. jobTracker=ecs2:njzd.com:8032
    3. HdfsDir=${namenode}/user/tao
    4. oozie.wf.application.path=${namenode}/user/tao/oozie/examples/apps/xt/workflow.xml
  2. workflow.xml文件

    1. <workflow-app name="xt-fs-wf" xmlns="uri:oozie:workflow:0.5">
    2. <start to="fs-node"/>
    3. <action name="fs-node">
    4. <fs>
    5. <delete path='${HdfsDir}/outputPath'/>
    6. <mkdir path='${HdfsDir}/new-Output'/>
    7. <touchz path='${HdfsDir}/my-test-file.data'/>
    8. <move source='${HdfsDir}/my-test-file.data' target='${HdfsDir}/new-Output'/>
    9. </fs>
    10. <ok to="end-node"/>
    11. <error to="kill-node"/>
    12. </action>
    13. <kill name="kill-node">
    14. <message>The action Fs(HDFS) is killed</message>
    15. </kill>
    16. <end name="end-node"/>
    17. </workflow-app>



部署运行

  1. 将目录/disk1/users/tao/oozie/examples/apps/xt放入HDFS目录/user/tao/oozie/examples/apps
  2. 执行运行命令
    sudo -u hdfs oozie job -oozie http://ecs3.njzd.com:11000/oozie -config /disk1/users/tao/oozie/examples/apps/xt/job.properties -run

其中,ecs3.njzd.com是Oozie server所在的节点,11000是Oozie Http Port,hdfs://nameservice1是HDFS HA的URL,ecs2:njzd.com:8032是YARN的ResourceManager



在运行时,HDFS中并不需要存在文件job.properties,但是在运行提交命令时它必须存在于本地文件系统中。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注