我最近在学习oozie。我对shell的Action有点好奇。我正在执行包含类似shell命令的shell操作hadoopjar在运行此操作时,有两个yarn作业在运行,它们是一个用于hadoop作业一个用于shell操作我不明白为什么shellAction需要yarn来执行。我也试过电子邮件操作。它在没有yarn资源的情况下执行。 最佳答案 要回答这个问题,区别在于独立运行shell脚本(.sh文件或从CLI)作为oozie工作流程的一部分运行shell操作。(oozieshell操作中的shell脚本)第一种情况很明显。在第二种
在我的Oozie工作流程中,有一个pigAction。运行时,它正在CDH中寻找log4j.properties文件,因为我没有在我的jars中提供该文件。现在,我有了log4j.properties文件,我只需要将它作为Pig操作中的JVM选项传递即可。有什么办法吗? 最佳答案 无法将自定义log4j属性文件传递给Oozie工作流中的Pig操作。PigMain.java文件不允许将以下参数作为参数传递。static{DISALLOWED_PIG_OPTIONS.add("-4");DISALLOWED_PIG_OPTIONS.ad
我在尝试使用oozie运行spark操作时遇到以下异常ERRORyarn.ApplicationMaster:Userclassthrewexception:java.lang.NoClassDefFoundError:org/apache/spark/internal/Loggingjava.lang.NoClassDefFoundError:org/apache/spark/internal/Loggingatjava.lang.ClassLoader.defineClass1(NativeMethod)atjava.lang.ClassLoader.defineClass(Cla
有没有像这样传递Hive参数SEThive.exec.parallel=true;SEThive.vectorized.execution.enabled=true;使用参数文件使用oozie工作流 最佳答案 这取决于您调用hivequery(hql)文件的方式。如果您在工作流中使用配置单元操作,您可以在配置部分的属性标记内或在hql文件myscript.q内指定配置单元配置参数...foo:9001bar:9000hive.exec.paralleltruemyscript.qInputDir=/home/tucu/input-d
我正在尝试使用ooziejavaAPI获取oozie作业状态。目前它失败并显示消息线程“main”中的异常HTTP错误代码:401:未经授权我们在集群中使用kerberos身份验证和key表文件。请指导如何继续实现身份验证。我目前的计划是:importorg.apache.oozie.client.OozieClient;publicclassoozieCheck{publicstaticvoidmain(String[]args){//getaOozieClientforlocalOozieOozieClientwc=newOozieClient("http://myserver:1
我正在尝试在python脚本中使用subprocess,我在oozieshell操作中调用该脚本。子进程应该读取存储在Hadoop的HDFS中的文件。我在伪分布式模式下使用hadoop-1.2.1和oozie-3.3.2。这是名为connected_subprocess.py的python脚本:#!/usr/bin/pythonimportsubprocessimportnetworkxasnxliste=subprocess.check_output("hadoopfs-cat/user/root/output-data/calcul-proba/final.txt",shell=T
我在我的机器上运行CDH4.5和virtualbox。在VM中,我有一个本地目录:/home/cloudera/logs/abc.log,我想做一件非常简单的事情,我在oozie中安排了一个非常简单的脚本来复制>abc.log到HDFS(/user/cloudera/logs/).计划的作业已执行,但在stderr中,它向我显示:无法访问/home/cloudera/logs/abc.log:没有那个文件或目录无论如何,有什么可以让这个工作的吗?因为我想用oozie安排一个脚本,每天将文件从本地复制到HDFS作为一项沐浴工作。谢谢!! 最佳答案
我正在使用Oozie触发流式MapReduce作业,为此我想收集以下HadoopEL常量:MAP_IN:Hadoop映射器输入记录计数器名称。MAP_OUT:Hadoopmapper输出记录计数器名称。REDUCE_IN:Hadoopreducer输入记录计数器名称。REDUCE_OUT:Hadoopreducer输入记录计数器名称。我看到这些可以使用${hadoop:counters('mr-action')[RECORDS][REDUCE_OUT]}但是,我不知道如何让这些值通过STDOUT输出回屏幕,或者输出到我启动Oozie工作流的服务器上HDFS中的文件。我试过将这些值传递给
如果我使用Oozie来运行MapReduce作业,是否有关于将启动多少映射器的具体数字?是吗:一个用于Oozie,一个用于map-reduce作业或一个用于Oozie,一个映射器用于每64MBblock(默认block大小) 最佳答案 上面的回答主要集中在一个mapreduce作业需要多少个map和reduce上。但是,当您特别询问oozie时,我将通过Oozie分享我在mapreduce(在pig中)方面的经验。解释当您启动oozie工作流程时,您需要1个yarn应用程序。我不确定逻辑是什么,但看起来这些应用程序通常需要1张map
我对hive不够熟悉,所以我在这里。我们正在使用Oozie将一堆hiveql作业链接在一起。我的任务是优化已经在我们的生产环境中运行的应用程序。业务合作伙伴不希望它花费超过1.5个小时的时间。我注意到的第一件事是,在一个工作流程中大约有90个oozieAction。我们还与其他应用程序共享yarn队列。这些Action的一半是hive2Action,并且每个HiveQLAction仅执行一个HQL语句。有时似乎HiveQL操作之间存在延迟,因为Oozie启动器在队列中等待,然后HiveQL在队列中等待。那是正常的吗?有没有解决的办法。对于时间敏感的Hive查询:1)Oozie是正确的工