可能是由于以下几个原因导致的:
Sqoop的使用应该是Oozie里面最常用的了,因为很多BI数据分析都是基于业务数据库来做的,因此需要把mysql或者oracle的数据导入到hdfs中再利用mapreduce或者spark进行ETL...当使用command元素时,oozie将会按照空格切分命令,作为参数。因此当你使用query的时候,就不能用command了! 当使用arg的时候,每个arg都是一个参数。... 遇到的问题 经常会遇到这种问题:直接使用sqoop可以执行,但是在oozie中就无法执行了。...这个时候可以按照下面的思路进行排查: 1 oozie中的lib是否与sqoop相同。...对比sqoop/lib以及oozie/lib/xxx/sqoop就可以了 2 oozie中如果是以arg这种方式启动。那么问题很有可能出在query的别名以及split-by参数上....
Fayson的github:https://github.com/fayson/cdhproject 1.问题描述 ---- 在使用Hue创建Ssh的Oozie工作流,在Shell脚本中执行sudo命令失败...], exit code [1] [8ulfm1n5er.jpeg] 2.问题复现 ---- 1.使用Fayson用户登录Hue,创建一个Shell Workflow的工作流 [bpfcrutvqj.jpeg...] 2.将test.sh脚本上传至当前工作流的workspace/lib目录下 [8kzqn3yca2.jpeg] [bt2sycbc04.jpeg] 3.保存工作流,点击运行,作业执行失败 [a9m06ujefi.jpeg...] 失败日志如下 [zv4mxerqg3.jpeg] 3.问题解决 ---- 1.使用root用户修改/etc/sudoers文件,将fayson用户修改为拥有sudo权限的用户 在/etc/sudoers...2.再次运行作业 [pley6v70z6.jpeg] 3.保存作业并执行 [ua48tkwt7o.jpeg] 4.总结 ---- 在Oozie的Ssh Action脚本中有需要使用Sudo权限去执行的命令
Oozie工作流可以参数化,例如在工作流定义中使用像${inputDir}之类的变量等。在提交工作流操作的时候,我们必须提供参数值。...二、建立工作流前的准备 我们的定期ETL需要使用Oozie中的FS、Sqoop和SSH三种动作,其中增量数据抽取要用到Sqoop job。...该工作流包括10个节点,其中有5个控制节点,5个动作节点:工作流的起点start、终点end、失败处理节点fail(DAG图中未显示),两个执行路径控制节点fork-node和joining,一个FS动作节点...工作流定义中可以使用形式参数。当工作流被Oozie执行时,所有形参都必须提供具体的值。参数定义使用JSP 2.0的语法,参数不仅可以是单个变量,还支持函数和复合表达式。...图5 四、用Falcon process调度Oozie工作流自动执行 本示例中,只使用Falcon的process功能,调用前面定义的Oozie工作流定期自动执行。 1.
从调度的角度看,如果使用crontab的方式调用多个工作流作业,可能需要编写大量的脚本,还要通过脚本来控制好各个工作流作业的执行时序问题,不但脚本不好维护,而且监控也不方便。...Oozie是一种Java Web应用程序,它运行在Java servlet容器——即Tomcat——中,并使用数据库来存储以下内容: 工作流定义 当前运行的工作流实例,包括实例的状态和变量...Oozie工作流可以参数化(在工作流定义中使用像${inputDir}之类的变量)。在提交工作流操作的时候,我们必须提供参数值。...如果经过合适地参数化(比方说,使用不同的输出目录),那么多个同样的工作流操作可以并发。...该工作流包括9个节点,其中有5个控制节点,4个动作节点:工作流的起点(start)、终点(end)、失败处理节点(fail,DAG图中未显示),两个执行路径控制节点(fork-node和joining,
Oozie工作流可以参数化,例如在工作流定义中使用像${inputDir}之类的变量等。在提交工作流操作的时候,我们必须提供参数值。...二、建立工作流前的准备 我们的定期ETL需要使用Oozie中的FS、Sqoop和SSH三种动作,其中增量数据抽取要用到Sqoop job。...该工作流包括13个节点,其中有7个控制节点,6个动作节点:工作流的起点start、终点end、失败处理节点fail(DAG图中未显示);四个执行路径控制节点hdfsCommands、joining1、fork-node...工作流定义中可以使用形式参数。当工作流被Oozie执行时,所有形参都必须提供具体的值。参数定义使用JSP 2.0的语法,参数不仅可以是单个变量,还支持函数和复合表达式。...图5 四、用Falcon process调度Oozie工作流自动执行 本示例中,只使用Falcon的process功能,调用前面定义的Oozie工作流定期自动执行。 1.
Oozie工作流可以参数化,例如在工作流定义中使用像${inputDir}之类的变量等。在提交工作流操作的时候,我们必须提供参数值。...如果碰到用Oozie工作流执行Sqoop命令是成功的,但执行Sqoop作业却失败的情况,可以参考“Oozie系列(3)之解决Sqoop Job无法运行的问题”这篇文章。...该工作流包括9个节点,其中有5个控制节点,4个动作节点:工作流的起点start、终点end、失败处理节点fail,两个执行路径控制节点fork-node和joining,三个并行处理的Sqoop动作节点...每个工作流定义必须包含一个end节点。kill节点允许一个工作流作业将自己kill掉。当工作流作业到达kill节点时,表示作业以失败结束。...我们的ETL工作流中使用了Sqoop和Hive两种。ok和error是动作节点预定义的两个XML元素,它们通常被用来指定动作节点执行成功或失败时的下一步跳转节点。这些元素在Oozie中被称为转向元素。
在命令行执行Sqoop抽取Hive Parquet表数据到MySQL正常运行,但在Hue中通过Oozie执行Sqoop抽数失败。...command completed <<< [7iuh2chs7x.jpeg] 2.解决方法 ---- 在Kerberos环境下使用Oozie创建Sqoop抽取Hive表数据到MySQL的Action...: 1.如果使用的Hive中的parquet文件复制生成一份txt文件,使用如下命令进行Sqoop抽数 sqoop export \ --connect jdbc:mysql://ip-172-31...环境下使用Oozie创建Sqoop抽取Hive表数据或抽数到Hive表会出现“delegation tokens”异常,目前是一个已知的Bug,具体参考:https://issues.apache.org...推荐将Sqoop抽数脚本封装在Shell脚本中,通过Hue创建Ssh Action的Oozie工作流来执行Sqoop作业。 为天地立心,为生民立命,为往圣继绝学,为万世开太平。
oozie创建工作流 工作流的执行命令参考博客:https://www.jianshu.com/p/6cb3a4b78556,也可以键入oozie help查看帮助 手动配置oozie的workflow...job.properties文件,存放workflow.xml文件可能用到的一些参数 job.properties # 注意变量名不要包含特殊字符,否则在 spark 中会出现无法解析变量名的问题 #...oozie.wf.application.path的路径必须在hdfs上,因为整个集群要访问 nameNode=hdfs://txz-data0:9820 resourceManager=txz-data0...-- 这是为oozie的workflow提供参数,里面用到的变量默认来自job.properties文件 --> <workflow-app xmlns='uri:<em>oozie</em>:workflow...,在Hue上面是不可见<em>的</em>,所以后面都是在Hue上面配置workflow,然后再配置Schedule。
集成了Oozie实现界面化工作流调度流程,同样也可以集成第三方APP及SQL等。本篇文章Fayson主要介绍在使用Hue提供的Sqoop1编辑功能执行Sqoop作业异常问题分析。...该Sqoop脚本主要是用于访问MySQL数据库,并列出MySQL下所有的数据库,从上述运行结果可以看到失败了。 3.点击右上角的“Jobs”菜单,查看作业运行日志 ?...1.使用如下命令找到最新的Oozie共享库在HDFS上地址 [root@cdh2 java]# oozie admin -oozie http://cdh1.fayson.com:11000/oozie...5 总结 1.在Hue中通过Sqoop1的编辑界面执行Sqoop作业,最终还是通过Oozie执行的,默认Oozie的依赖中是没有MySQL的驱动,所以需要指定MySQL的驱动。...2.Hue上执行Sqoop是基于Oozie,那同样可以将MySQL的JDBC驱动包上传到Oozie的共享库来解决该问题,需要注意的是当CDH版本升级后,需要重新更新Oozie的共享库。
该框架(如图 1 所示)使用 Oozie协调器促进了相互依赖的重复工作之间的协调,您可以使用预定的时间或数据可用性来触发 Apache Oozie。...Oozie 工作流 Oozie 工作流是控制依赖有向非循环图 (DAG) 中安排的 Oozie 操作的集合。...本文首先会简要概述工作流控制节点,然后重点介绍以下工作流操作节点: Oozie shell 操作 Oozie Java 操作 Oozie Sqoop 操作 Oozie Hive 操作 Oozie 电子邮件操作...Sqoop 操作 Oozie 工作流触发了一个 Sqoop 脚本,该脚本在 Hadoop 集群上启动了一个 Sqoop 作业。...与其他 Oozie 操作类似,您可以通过使用 job-xml元素,利用其他的属性来配置 Sqoop 操作。configuration 元素中指定的属性值将会覆盖 job-xml 元素中指定的属性。
生态系统的其它任务,如mr,pig,hive,sqoop,distcp 可扩展:一个Oozie就是一个mr程序,但是仅仅是map,没有reduce 可靠性:任务失败后的重试 ?.../>——表示进程的是hive操作 ——表示进行的是sqoop的相关操作 文件需要被放在HDFS上才能被oozie调度,如果在启动需要调动MR任务,jar包同样需要在hdfs上。...lib文件夹 在workflow工作流定义的同级目录下,需要有一个lib目录,在lib目录中存在java节点MapReduce使用的jar包。...Azkaban中如果有任务出现失败,只要进程有效执行,那么任务就算执行成功,这是BUG,但是Oozie能有效的检测任务的成功与失败。 操作工作流:Azkaban使用Web操作。...出现失败的情况:Azkaban会丢失所有的工作流,但是Oozie可以在继续失败的工作流运行。
之所以可以这样做,是因为总是先处理事务事实表,再处理周期快照事实表,并且事务事实表中的产品代理键就是当时有效的产品描述。...每个月给定的任何一天,在每天销售订单定期装载执行完后,执行fn_month_sum函数,装载上个月的销售订单汇总数据。为此需要修改Oozie的工作流定义。 四、修改工作流 1....修改Oozie工作流作业配置文件 需要在“HAWQ取代传统数仓实践(五)——自动调度工作流(Oozie、Falcon)”中创建的workflow.xml工作流定义文件中增加月底销售周期快照的数据装载部分...部署工作流 hdfs dfs -put -f workflow.xml /user/oozie/ 3....date属性的值为${coord:formatTime(coord:actualTime(), "dd")},用Oozie的系统函数取得工作流执行时的月中日期。
离线数据分析平台实战——180Oozie工作流使用介绍 Oozie工作流介绍 Oozie的四大组件服务分别是: workflow, coordinator, bundle和sla。...Workflow介绍 workflow使用hadoop流程定义语言(Hadoop Process Defination Language, hPDL)来描述工作流, hPDL是类似xml语言的一种相当简洁的定义类语言...,使用有限数目的流控制节点和动作节点来描述workflow,也就是workflow有两大类节点构成:工作流控制节点和动作节点。...异步 Shell动作 shell 运行一个shell作业 同步 Email动作 email 发送一个email邮件 同步 SSH动作 ssh 调用oozie服务器上的指定shell脚本 同步 Sqoop...轮询:在任务执行回调失败的情况下,无论任何原因,都支持以轮询的方式进行查询。
最近又开始捅咕上oozie了,所以回头还是翻译一下oozie的文档。文档里面最重要就属这一章了——工作流定义。...背景 先看看oozie工作流里面的几个定义: action,一个action是一个独立的任务,比如mapreduce,pig,shell,sqoop,spark或者java程序,它也可能是引用了某个action...在oozie中,工作流的状态可以是: PREP RUNNING SUSPENDED SUCCEEDED KILLED FAILED 当任务失败时,oozie会通过参数控制进行重试,或者直接退出...工作流定义 一个工作流的定义包含了 流控制节点(比如start,end,decision,fork,join,kill)以及action节点(比如map-reduce,spark,sqoop,java,... decision decision节点支持给工作流提供选择,有点类似switch-case的语法。它使用JSP表达式语法,来进行条件判断。
继上一篇如何使用Hue创建Spark1和Spark2的Oozie工作流的实现方式外,本文档主要讲述使用shell的方式实现Hue创建Spark2的Oozie工作流。...工作流 ---- 1.创建一个Oozie的工作流 [qorgb24beg.jpeg] 2.打开Spark2Shell的WorkSpace [pt6ahwdfl6.jpeg] 3.将sparkJob.sh...脚本上传至该工作空间的lib目录下 [q8ysfx50u9.jpeg] 4.创建Shell类型的Oozie工作流 [ye58sjkxx4.jpeg] [2j3grz6mfe.jpeg] 5.选择该工作流...,否则会执行失败。...目录访问权限问题也会导致执行失败。 醉酒鞭名马,少年多浮夸! 岭南浣溪沙,呕吐酒肆下!挚友不肯放,数据玩的花! 温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。
,如何能够方便的构建一个完整的工作流在CDH集群中执行,前面Fayson也讲过关于Hue创建工作流的一系列文章具体可以参考《如何使用Hue创建Spark1和Spark2的Oozie工作流》、《如何使用Hue...创建Spark2的Oozie工作流(补充)》、《如何在Hue中创建Ssh的Oozie工作流》。...本篇文章主要讲述如何使用Hue创建一个以特定顺序运行的Oozie工作流。...本文工作流程如下: [nwu1gwmr5n.jpeg] 内容概述 1.作业描述 2.使用Hue创建Oozie工作流 3.工作流测试 测试环境 1.CM和CDH版本为5.11.2 2.采用sudo权限的ec2...7.工作流运行 ---- 1.工作流保存成功后,点击运行 [3b3orjqilo.jpeg] 2.Oozie调度任务执行成功 [uzux7zubmy.jpeg] 8.作业运行结果查看 ---- Sqoop
Oozie是一款支持分布式任务调度的开源框架,它支持很多的分布式任务,比如map reduce,spark,sqoop,pig甚至shell等等。你可以以各种方式调度它们,把它们组成工作流。...每个工作流节点可以串行也可以并行执行。 如果你定义好了一系列的任务,就可以开启工作流,设置一个coordinator调度器进行定时的调度了。...有了这些工作以后,还需要一个很重要的环节—— 就是邮件提醒。不管是任务执行成功还是失败,都可以发送邮件提醒。这样每天晚上收到任务成功的消息,就可以安心睡觉了。...image.png Email Action 在Oozie中每个工作流的环节都被设计成一个Action,email就是其中的一个Action..../etc/oozie/conf.dist/oozie-site.xml 遇到的问题 很多人会遇到无法发邮件的问题,首先是要开启SMTP服务,查看是否开启可以使用telnet localhost 25。
,然后交互式地建立一个定期执行销售订单示例ETL任务的工作流,说明在Hue里是如何操作Oozie工作流引擎的。...从图中可以看到,mechanicsburg市的销售占整个销售额的一半。 (8)再建立一个“按年月统计”的查询,这次使用动态表单功能,运行时输入年份。SQL语句如下。...建立定期执行销售订单示例的ETL工作流 下面说明建立工作流的详细步骤。...可以看到,因为三个Sqoop并行处理,所以工作流中自动添加了fork节点和join节点。 (7)编辑三个“Sqoop 1”操作。...现在的工作流如下图所示(“join-node”及其以下部分)。 ? (11)这步要使用一个小技巧。
(2.2.0版本) oozie oozie提供了大数据场景下各种任务的调度,比如shell脚本、spark任务、mapreduce任务、sqoop任务、hive查询以及普通的java程序等等。...官方文档 2016-09-22 oozie快速入门 2016-11-17 Oozie分布式任务的工作流——邮件篇 2016-11-19 Oozie分布式任务的工作流——脚本篇 2016-11-21 Oozie...调度报错——ORA-00918:未明确定义列 2016-11-22 Oozie分布式任务的工作流——Sqoop篇 2016-12-11 大数据之Oozie——源码分析(一)程序入口 2016-12-23...Oozie分布式任务的工作流——Spark篇 2017-02-28 图文并茂 —— 基于Oozie调度Sqoop 2017-03-01 Oozie分布式工作流——流控制 2017-03-02 Oozie...分布式工作流——Action节点 2017-03-04 Oozie分布式工作流——从理论和实践分析使用节点间的参数传递 2017-03-07 Oozie分布式工作流——EL表达式 sqoop sqoop
shell的输出可以被后面的工作流任务使用,这些信息可以用来配置一些关键的信息。...env-var需要包含键值对这种的信息。比如包含$PATH这种信息,那么需要设置PATH=$PATH:mypath这种格式。不要使用${}这种语法,因为它会被认为是Oozie的EL表达式。...不支持交互式的命令 命令不能使用不同的用户执行 用户必须严格控制上传的jar包。...oozie会把他上传到分布式环境中进行缓存 尽管oozie在hadoop的计算节点执行shell命令,但是可能有一些默认安装的工能是不支持的。因此需要了解,oozie可以支持安装在计算节点的命令。...实战分析 shell可以输出java properties格式的数据,并且可以配合EL表达式,在其他的action中使用。因此它可以作为工作流的初始化任务,以及配置服务。 比如,在脚本中: #!
领取专属 10元无门槛券
手把手带您无忧上云