草庐IT

oozie-setup

全部标签

hadoop - 我可以动态重命名 oozie 作业名称吗

我们有一个Hadoop服务,其中有多个应用程序。我们需要通过重新执行相同的工作流来处理每个应用程序的数据。这些计划在一天的同一时间执行。问题是,当这些作业正在运行时,很难知道该作业正在为哪个应用程序运行/失败/成功。当然,我可以打开作业配置并知道它,但这确实需要时间,因为有10多个应用程序在该服务下运行。oozie中是否有任何选项可以在执行作业时动态传递工作流(或其中的一部分)的名称ooziejob-run-config-name""ORooziejob-run-config-nameSuffix""此外,我们不希望创建多个作业文件夹来单独执行,因为那样复制粘贴会太多。请推荐。

hadoop - Oozie:oozie 是否生成输出事件?

在oozie中,input-events非常简单,如果指定的文件/文件夹不存在,协调器作业将保持在WAITING状态。但我无法理解output-events的作用。根据我的理解,在output-events标签中指定的文件/文件夹应该由oozie创建,以防所有指定的操作都成功。但那不会发生。我也找不到任何相关日志。文档也不清楚这一点。那么,问题是,Oozie是否真的创建了output-events中指定的文件/文件夹?或者它只是提到这些特定的文件/文件夹是在工作流程中创建的,创建的责任在工作上,而不是在Oozie上?相关代码见https://gist.github.com/venkat

java - 使用 oozie 为 mapreduce 作业写入多个输出流的正确方法是什么?

我正在使用新的HadoopAPI编写一系列map-reduce作业。我打算使用Oozie将所有这些管道连接在一起,但我似乎无法找到一种方法来从工作流中的map-reduce节点执行多个输出流。通常要编写多个输出,我会使用类似于MultipleOutputsjavadoc中给出的代码的代码,但oozie从workflow.xml文件中获取所有配置,因此无法像示例中那样配置命名输出。我遇到了一个thread讨论了Oozie中多个输出的使用,但除了创建Java任务并将其直接添加到Oozie管道之外,没有提出任何解决方案。有没有办法通过workflow.xml中的map-reduce节点来实现

bash - Oozie shell 脚本 Action

我正在探索Oozie管理Hadoop工作流的功能。我正在尝试设置调用一些配置单元命令的shell操作。我的shell脚本hive.sh看起来像:#!/bin/bashhive-fhivescripthive脚本(已独立测试)创建一些表等的位置。我的问题是将hivescript保存在哪里,然后如何从shell脚本中引用它。我尝试了两种方法,首先使用本地路径,比如hive-f/local/path/to/file,然后使用像上面那样的相对路径,hive-fhivescript,在这种情况下,我将我的hivescript保存在oozie应用程序路径目录中(与hive.sh和workflow.

bash - 通过 Hue 从 oozie 运行 shell 脚本

我在Hue中使用oozie编辑器调用bashshell脚本。我在工作流程中使用了shell操作,并在shell命令中尝试了以下不同选项:使用“选择文件”上传了shell脚本给出shell脚本所在的本地目录路径给出了shell脚本所在的HDFS路径但是所有这些选项都给出了以下错误:Cannotrunprogram"sec_test_oozie.sh"(indirectory"/data/hadoop/yarn/local/usercache/user/appcache/application_1399542362142_0086/container_1399542362142_0086_

java - Oozie Java 操作 : Passing Hbase classpath

我正在通过ooziejava操作运行测试hbasejava程序。遇到以下错误:FailingOozieLauncher,Mainclass[HbaseTest],main()threwexception,org/apache/hadoop/hbase/HBaseConfigurationjava.lang.NoClassDefFoundError:org/apache/hadoop/hbase/HBaseConfigurationatHbaseTest.main(HbaseTest.java:28)atsun.reflect.NativeMethodAccessorImpl.invok

exception - 如何在 Oozie 中获取有关已终止作业的更具体的错误信息

我有一个hadoopmap-reduce作业作为Oozie工作流中的一个步骤运行。它是使用实现org.apache.hadoop.util.Tool的java操作启动的。当作业由于某种原因被终止时,如果在处理过程中出现异常,我希望能够通过电子邮件发送通知,其中应包含堆栈跟踪。目前我是这样做的:some-dl@company.comJobexecutionfailed${wf:id()}Jobexecutionfailed,errormessage:[${wf:errorMessage(wf:lastErrorNode())}]但我收到的只是:Jobexecutionfailed,err

hadoop - oozie 在哪里存储捕获的 Java 操作(或)任何操作的输出值

我正在为我的Java操作使用捕获输出选项。我在下游操作中使用的值。哪个工作正常。当我重新运行oozie作业时,框架也在获取值,而无需再次运行Java操作。我想知道这些值存储在哪里?提前致谢。 最佳答案 Oozie的java操作在运行时将捕获的输出/导出属性存储在由Hadoop作业属性定义的属性文件中:oozie.action.output.properties。操作完成后,数据将序列化到Oozie的后端数据存储-Mysql或内存数据库中,表-oozie.WF_ACTIONS,列-数据。此处的数据对引用此java操作输出的其他操作可见

hadoop - 使用 Oozie 执行 Sqoops

我有2个Sqoops将数据从HDFS加载到MySQL。我想使用Oozie执行它们。我已经看到Oozie是一个XML文件。我如何配置它才能执行那些Sqoop?带步骤的演示将不胜感激?两个Sqoops是:1.sqoopexport--connectjdbc:mysql://localhost/hduser--tablefoo1-m1--export-dir/user/cloudera/bar12.sqoopexport--connectjdbc:mysql://localhost/hduser--tablefoo2-m1--export-dir/user/cloudera/bar2谢谢。

hadoop - Oozie + Sqoop : JDBC Driver Jar Location

我有一个基于6节点cloudera的hadoop集群,我正在尝试从oozie中的sqoop操作连接到oracle数据库。我已将我的ojdbc6.jar复制到sqoop库位置(对我来说恰好位于:/opt/cloudera/parcels/CDH-4.2.0-1.cdh4.2.0.p0.10/lib/sqoop/lib/)在所有节点上,并已验证我可以从所有6个节点运行简单的“sqoopeval”。现在,当我使用Oozie的sqoop操作运行相同的命令时,我得到“无法加载数据库驱动程序类:oracle.jdbc.OracleDriver”我已阅读thisarticle关于使用共享库,当我们谈