当前位置: 首页 > 工具软件 > Oozie > 使用案例 >

oozie

史昀
2023-12-01

看到一篇博客感觉不错!  http://blog.csdn.net/youzhouliu/article/details/52384112


============================OOZIE===========================================================
 
 1.
    • Oozie是用于 Hadoop 平台的开源的工作流调度引擎。
    • 用来管理Hadoop作业。
    • 属于web应用程序,由Oozie client和Oozie Server两个组件构成。
    • Oozie Server运行于Java Servlet容器(Tomcat)中的web程序。

    
2. 作用:
    – 统一调度hadoop系统中常见的mr任务启动、 hdfs操作、 shell调度、 hive操作等
    – 使得复杂的依赖关系、时间触发、事件触发使用xml语言进行表达,开发效率提高
    – 一组任务使用一个DAG(有向无环图)来表示,使用图形表达流程逻辑更加清晰
    – 支持很多种任务调度,能完成大部分hadoop任务处理
    – 程序定义支持EL常量(EL表达式)和函数,表达更加丰富
    
    
3.一个Coordinator可以管理多个workflow,一个bundle可以管理多个coordinator!



4.Oozie CLI 命令
    • 启动任务:
    – oozie job -oozie http://ip:11000/oozie/ -config job.properties –run(启动oozie会返回一个唯一标识id,启动任务其实就是:提交任务并开始任务)
    • 停止任务:
    – oozie job -oozie http://ip:11000/oozie/ -kill 0000002-150713234209387-oozie-oozi-W(启动oozie时返回的那个唯一标识id)
    • 提交任务:
    – oozie job -oozie http://ip:11000/oozie/ -config job.properties –submit(提交单不是执行任务哦,提交任务的时候会返回一个任务id)
    • 开始任务:
    – oozie job -oozie http://ip:11000/oozie/ -config job.properties –start 0000003-150713234209387-oozie-oozi-W
    • 查看任务执行情况:
    – oozie job -oozie http://ip:11000/oozie/ -config job.properties –info 0000003-150713234209387-oozie-oozi-W


    ===================================重要===============================================================
5.• Job配置 job.properties

        nameNode hdfs  :地址
        jobTracke jobTracker地址 (Hadoop2.x   resourcemanager:8032)
        queueName oozie队列( default)
        examplesRoot 全局目录( examples)
        oozie.usr.system.libpath 是否加载用户lib目录( true/false),项目的依赖包,这里设置为true
        oozie.libpath 用户lib库 (这里指定jar包上传到HDFS上的目录)
        oozie.wf.appication.path oozie流程所在hdfs地址( workflow.xml在HDFS上存放的路径)
        user.name 当前用户
        coordinator:
           oozie.coord.application.path coordinator.xml地址
        bundle:
           oozie.bundle.application.path bundle.xml地址

    
6.workflow.xml放在HDFS上,job.properties文件放在本地就行!(=========================注意哦===============================)
 
 
7.workflow的版本不要比oozie的版本高哦!
  ===================================重要===============================================================

8.EL函数
     基本的EL函数
        • String firstNotNull(String value1, String value2)
        • String concat(String s1, String s2)
        • String replaceAll(String src, String regex, String replacement)
        • String appendAll(String src, String append, String delimeter)
        • String trim(String s)
        • String urlEncode(String s)
        • String timestamp()
        • String toJsonStr(Map) (since Oozie 3.3)
        • String toPropertiesStr(Map) (since Oozie 3.3)
        • String toConfigurationStr(Map) (since Oozie 3.3)
    – WorkFlow EL
        • String wf:id() – 返回当前workflow作业ID
        • String wf:name() – 返回当前workflow作业NAME
        • String wf:appPath() – 返回当前workflow的路径
        • String wf:conf(String name) – 获取当前workflow的完整配置信息
        • String wf:user() – 返回启动当前job的用户
        • String wf:callback(String stateVar) – 返回结点的回调URL,其中参数为动作指定的退出状态
        • int wf:run() – 返回workflow的运行编号,正常状态为0
        • Map wf:actionData(String node) – 返回当前节点完成时输出的信息
        • int wf:actionExternalStatus(String node) – 返回当前节点的状态
        • String wf:lastErrorNode() – 返回最后一个ERROR状态推出的节点名称
        • String wf:errorCode(String node) – 返回指定节点执行job的错误码,没有则返回空
        • String wf:errorMessage(String message) – 返回执行节点执行job的错误信息,没有则返回空
    – HDFS EL
        • boolean fs:exists(String path)
        • boolean fs:isDir(String path)
        • long fs:dirSize(String path) – 目录则返回目录下所有文件字节数;否则返回-1
        • long fs:fileSize(String path) – 文件则返回文件字节数;否则返回-1
        • long fs:blockSize(String path) – 文件则返回文件块的字节数;否则返回-1

    
9、节点
    – A、流程控制节点
        • start – 定义workflow开始
        • end – 定义workflow结束
        • decision – 实现switch功能
        • sub-workflow – 调用子workflow
        • kill – 杀死workflow
        • fork – 并发执行workflow
        • join – 并发执行结束(与fork一起使用)
    – B、动作节点
        • shell(用的比较多)
        • java(用的比较多)
        • fs(用的比较多)
        • MR
        • hive
        • sqoop
        
    
    
10、oozie,hive底层都是MapReduce,所以出了问题看日志就好!

 类似资料: