我尝试学习Oozie,我想做一个非常简单的工作流程。为此,我使用HUE创建了第一个oozie工作流。我的第一个工作流程是执行一个shell命令文件“testhbase.sh”,其中包含:#!/bin/shecho-e"scan'hbasedepartementcap'"|hbaseshell-n当我试图将它放入Oozie的shell图标中时,在执行时我得到:没有这样的文件或目录...我怎么知道要在oozie中设置什么参数!!???=================================================================>>>InvokingShe
我需要创建自定义EL函数并在uri模板中使用它(相当于YEAR、MONTH)。有可能的?oozie-site.xml中coordinator这个区域的关键配置是什么? 最佳答案 属性oozie.service.ELService.ext.functions.workflow是您必须包含扩展EL函数到关联类和方法的所有映射的属性。多个映射条目以逗号分隔。oozie.service.ELService.ext.functions.workflowyourELkey=fully_quallified_class_name#static_m
我安排了一个协调员来启动许多单独的工作流程。这是一个回填协调器,开始日期和结束日期都是过去的。这些作业中有一小部分由于输入数据集的临时问题而失败,现在我需要重新运行这些工作流(无需重新运行成功的工作流)。这些不成功的工作流程有多种状态:KILLED、FAILED和SUSPENDED。执行此操作的最佳方法是什么? 最佳答案 我不认为整个事情,即具有多个状态的作业,是否可以在单个命令中运行,但是使用ooziejobs,可以尝试,尽管三个状态的三个单独的命令.如果其他人有更好的方法,请发布。ooziejobsfilter-jobtypew
我将oozie安装作为cloudera安装的一部分。我正在尝试使用coordinator.xml中的以下配置从示例执行协调器工作流。使用此配置,我希望工作流每1小时执行一次,但工作流似乎每5分钟执行一次,有人对此问题有答案吗? 最佳答案 您是否将开始时间设置在当前时间之前?如果是这样,Oozie将以追赶模式工作,直到安排完所有延迟的操作。“频率”设置不适用于追赶模式。 关于hadoop-Oozie协调器问题,我们在StackOverflow上找到一个类似的问题:
我有一个mapreduce作业作为“jar”,应该每天运行。另外,我需要从远程Java应用程序运行这个jar。我如何安排它:即,我只想每天从我的远程Java应用程序运行作业。我读过有关Oozie的资料,但我认为它不适合放在这里。 最佳答案 看看Quartz.它使您能够运行独立的Java程序或在Web或应用程序容器(如JBoss或ApacheTomcat)中运行。特别是与Spring和Springbatch的集成很好。Quartz可以在java代码之外进行配置-在XML中,语法与crontab中的完全一样。所以,我发现它非常方便。ä可
我正在尝试通过我在Hue中创建的Oozie工作流来运行Hive操作,但是操作“心跳”永远不会执行HiveSQL。我读过其他关于永远心跳的文章,但这篇文章似乎发生在不同的时间点,在SQL语句被解析之后。我检查了集群中每个节点的内存,并验证了任务计数参数是否合理。这是hive-config.xml文件:javax.jdo.option.ConnectionURLjdbc:hive://10.1.10.250:10000/testdbJDBCconnectstringjavax.jdo.option.ConnectionDriverNameorg.apache.hadoop.hive.jdb
我有一个Oozie协调器,它监视文件是否出现在特定目录中。该协调员每天运行。如果正在观看的文件出现,则会启动工作流程。工作流采用正在监视的文件/目录的参数。Oozie将其传递给它。这是一个完全限定的路径(即:hdfs://myhost/dir1/dir2/2015-02-17)。我需要获取/dir1/dir2/2015-02-17并将其传递到Hive脚本中,该脚本似乎没有采用完全合格的HDFS路径。这意味着我需要使用WorkflowEL函数去除hdfs://myhost部分。我认为replaceAll()会这样做。问题是将其结果传递到Hive。有没有办法在工作流本身中使用工作流配置属性
我是ApacheOozie的新手,据我所知,工作流/协调器作业必须在xml文件中预先定义。但是,在我的问题中,我需要动态定义工作流程,这取决于输入文件,我的工作流程中可能会有额外的操作。有没有办法以编程方式做到这一点? 最佳答案 我完全同意Mzf的回复,但我想添加一些内容来回答jamiet的问题并创建一个更通用的答案。如果将您的工作流程拆分为多个流程/案例是有意义的,那么决策控制节点就是最佳选择。但是有时有必要——就像jamiet在评论中问的那样——你想调用一个工作流/Action来对一个集合进行迭代。这意味着每次运行工作流时,工作
Oozie4.2.0版支持作为Spark作业运行的Spark操作,是否可以在操作之间共享RDD,例如我的一个操作将读取文件并执行一些转换并创建一个RDD,比如rdd1,然后将(Spark操作)保存到HDFS,现在另一个oozie操作可能会采用rdd1并执行一些转换和操作。以上可以通过单个Spark驱动程序类实现,但我正在研究oozie解决方案,因为Spark驱动程序类对于复杂的工作流来说会非常复杂。预先感谢您的回答。问候,古兰加巴萨克 最佳答案 一个解决方案可能是使用sparkjobserver在多个作业中使用相同的spark上下文
我正在使用AWS并尝试使用hue为仅map作业创建oozie工作流。我为此采取了mapreduce操作。在尝试了很多方法之后,我无法完成它。我从CLI运行我的工作,它工作正常。我在HDFS中创建了一个名为mapreduce的目录,并将我的driver.java和mapper.java放入其中。在mapreduce目录下,我创建了lib目录并将我的可运行jar放入其中。我附上色调界面的屏幕截图。我遗漏了一些东西,或者我似乎无法将可运行的jar放在适当的位置。除了Hue中的输入和输出目录,我还想添加一个额外的参数。我该怎么做?我的疑惑在于2015-11-0614:56:57,679WARN