草庐IT

hadoop - Oozie 无法检测 XML 中的 Spark workflow-app 标签

我正在尝试安排每天运行的Oozie作业。在shell中,我正在使用这个命令——ooziejob-oozie$OOZIE_URL-run-verbose\-config$PWD/this_file_is_a_formality.properties\-Doozie.coord.application.path="hdfs:///path/to/file/aggregates_workflow.xml"\-Dstart="$START"\-Dend="$END"(假设所有环境变量都设置正确。)我收到这个错误:错误:E0701:E0701:XML模式错误,cvc-elt.1.a:找不到元素“

hadoop - 使用Oozie在hbase上创建hive表导致libthrift出错?

我在cloudera(cdh4)上使用ooziehive操作来创建hbasehive表。在我的本地开发工具箱上运行createtable命令没有错误。当我通过集群中的oozie配置单元操作执行相同的命令时,出现此错误:FailingOozieLauncher,Mainclass[org.apache.oozie.action.hadoop.HiveMain],main()threwexception,org.apache.thrift.EncodingUtils.setBit(BIZ)Bjava.lang.NoSuchMethodError:org.apache.thrift.Enco

hadoop - 安全模式下的 Oozie 无效用户

配置oozie以使用hadoop-2.6.0并启用kerberos安全性。我没有使用kinit命令获得票证,但是当我使用以下命令提交作业时,ooziejob-ooziehttp://hostname:11000/oozie-configjob.properties-run它抛出以下异常,Error:E0501:E0501:Couldnotperformauthorizationoperation,User:oozie/hostname@EXAMPLE.COMisnotallowedtoimpersonateKumar我知道如何解决上述错误,但我的问题是Kumar是我的本地帐户用户名。当

hadoop - 如何在 oozie 工作流任务之间传递数据

Oozie有一组丰富的指令来描述任务之间所需的控制流。它是否有任何有助于在这些任务之间传递数据的东西?还是传递数据是一项完全留给用户的练习?更新:我正在使用shell操作来调用spark,因此我需要一个足够通用的解决方案来涵盖该用例。 最佳答案 为了在Oozie工作流任务之间传递数据,您需要将工作流2的输入定义为工作流1的输出。例如:${jobTracker}${nameNode}mapred.input.dir${workflow1_Input}mapred.output.dir${workflow1_Output}${jobTr

hadoop - 是否可以将一个 oozie 操作的输出用于其他操作而无需从 hdfs 保存和加载?子工作流选项在这方面有用吗?

我必须编写一个运行多个pig操作的oozie工作流。这些pig操作可能相互依赖。我的意思是一个pig脚本的输出将对其他脚本有用。我想避免从hdfs进行多次保存和加载。这是如何实现的?我可以使用TEZDAG将DAG结构中的所有pig脚本组合起来,并从Oozie运行一个JavaAction吗? 最佳答案 在oozie中,你不能将一个节点的输出传递到另一个节点(不存储在HDFS中)。您可以实现PigServer(pigjavaAPI)来执行多个pig脚本。在一个使用pigserver的java程序中,它总是很容易满足您的要求。

java - 从 Java 操作访问 Oozie 上下文

我有以下用例。在oozie工作流中,map-reduce操作会生成一系列诊断计数器。我想在map-reduce操作之后有另一个java操作。java操作基本上根据来自map-reduce操作的计数器进行验证,并根据验证条件和结果生成一些通知。这个想法起作用的关键是java操作必须能够访问上游map-reduce操作中的所有计数器,就像oozie如何使用EL在其工作流xml中访问它们一样。现在我不知道从哪里开始。因此,非常感谢任何指针。更新例如,假设我有一个名为foomr的map-reduce操作。在oozie工作流xml中,您可以使用EL访问计数器,例如,${hadoop:counte

java - Oozie Java Action System.out

我有ooziejava操作。成功完成作业后,我在oozie日志中找不到System.out.println输出。我正在查看网络控制台“作业日志”屏幕。我在那里看到与我的oozie作业相关的日志输出,但不是System.out.println输出。我如何配置oozie以便我可以看到`System.out.println的输出? 最佳答案 您应该覆盖hadoopjar文件中的log4j.properties:-Dlog4j.configuration=PATH_TO_FILE(带空格键)例如:ooziejob-oozie"$oozieS

hadoop - Oozie Workflow 使用不正确的用户目录

我正在尝试执行同事编写的oozie工作流。我执行这个命令:ooziejob-config./job.properties-run我已经在job.properties中设置了参数,包括我的user.name,当我检查日志时,我可以看到工作流中使用的这些值-在我的hdfs目录中创建文件(例如exportDir=/user/${user.name}/ra_export)。但在工作流程的某个时刻,它因权限错误而失败,因为它试图修改我同事目录中的某些内容。它的行为就好像${user.name}被缓存在某个地方,并且正在使用旧值。有没有人见过这样的行为,如果有,解决方案是什么?更新:这是日志的失败

hadoop - Oozie 4.0.0 构建错误 - 无法解析 hcatalog 依赖项

Hadoop版本-1.2.1Maven版本-3.0.5配置单元版本-0.14.0pig版本-0.14.0当我开始使用以下命令构建oozie时./mkdistro.sh-DskipTests我得到以下错误[INFO]ApacheOozieShareLibSqoop......................SKIPPED[INFO]ApacheOozieShareLibStreaming..................SKIPPED[INFO]ApacheOozieShareLibDistcp.....................SKIPPED[INFO]ApacheOozieW

hadoop - sqoop oozie 将查询结果写入文件

我有一个当前的oozie作业查询Oracle表并写入-覆盖配置单元查询的结果。现在我需要防止覆盖配置单元表并将现有数据保存在该配置单元表上。为此,我想计划这样的步骤:第一步:获取运行“selectcount(*)from...”查询的记录数并将其写入文件。第2步:检查写入文件的计数。第三步:决定是否应用第四步的步骤。第4步:运行主查询并覆盖hive表。我的问题是我找不到任何关于将它们写入文件的文档和/或示例(我知道导入和导出是sqoop的目标)。有谁知道如何将wuery结果写入文件? 最佳答案 理论上:构建一个Pig作业来运行“co