我有一个通过Oozie调用的流媒体作业。我能够使用映射器和缩减器成功运行它。但我不明白的是,我如何通过组合器。我所有的映射器、缩减器和组合器都是用Python编写的。这行得通吗?${jobTracker}${nameNode}pythonmapper.pypythoncombiner.pypythonreducer.pymapred.input.dir${HADOOP_LIB}/inputmapred.output.dir${HADOOP_LIB}/OutPathmapper.pycombiner.pyreducer.py我在任何地方都找不到标签的使用。或者,我可以只在shell脚本中
使用oozie我们可以在hadoop中提交作业,是否可以通过文件可用性触发作业提交。例如,将文件成功复制到hdfs后,Oozie必须提交作业。这可能吗? 最佳答案 使用数据集中的“完成标志”标签。喜欢${dataRoot}/${YEAR}/${MONTH}/${DAY}/${HOUR}/_SUCCESS如果完成标志设置为空,那么Coordinator会查找目录本身是否存在。如果_SUCCESS(或标记中指定的任何文件名)文件存在于您的目录中,则协调器将继续进行。有关详细信息,请参阅-https://oozie.apache.org/
我们有两个节点的hadoopyarn集群,它是hadoop2.2,在其上我们使用oozie在单个工作流中安排了两个操作,第一个操作是pythonmap-reduce流操作,第二个是sqoopexport作业,它实际上是将map-reduce流操作的输出传输到mysql数据库。流式操作成功执行,导致sqoop作业启动,并一直运行。stdout结果如下。Sqoopcommandarguments:export--connectjdbc:mysql://localhost/database--usernameroot--passwordroot--tabletableName--direct
我有一组并行运行的oozie作业,有没有办法找到特定oozie作业使用的映射器和缩减器的总数?谢谢 最佳答案 您可以检查您的mapred-site.xmlmapreduce.job.reduces和mapreduce.job.maps属性。如果您没有看到,则将使用mapred-default.xml中此属性的默认值。如果在mapred-site.xml中找不到,您可以设置这些属性 关于hadoop-如何找出用于oozie作业的映射器和缩减器的数量?,我们在StackOverflow上找到
我想创建一个使用MapReduceIndexerTool的Oozie工作流获取我的数据并为其编制索引。我已经设法使用Shell操作让它工作,它调用我的脚本来执行以下命令:hadoopjar/opt/cloudera/parcels/CDH/lib/solr/contrib/mr/search-mr-*-job.jar\org.apache.solr.hadoop.MapReduceIndexerTool\-D'mapred.child.java.opts=-Xmx500m'\--morphline-filemorphline.conf\--output-dirhdfs://cloude
尝试在linux中为hadoop2构建oozie。[INFO]ApacheOozieExamples.............................SUCCESS[3.476s][INFO]ApacheOozieShareLib............................SUCCESS[7.252s][INFO]ApacheOozieTools................................FAILURE[5.003s][INFO]ApacheOozieMiniOozie............................SKIPPED[INF
有没有办法将协调员的开始日期设置为实际日期?每次我想运行我的协调器时,我都必须手动设置协调器作业的开始日期:我想使用某种变量,将这个日期设置为我运行协调器的日期:如何设置系统日期的实际时间?我试过使用EL函数timestamp()但它不起作用或者我用错了。也许有办法在.properties文件中设置任何变量? 最佳答案 一个想法是通过命令行将sysdate从shell脚本传递到协调器作业。查看类似问题的答案是否适合您:Ooziecoordinatorwithsysdateasstarttime
引用之前问的问题Oozie+Sqoop:JDBCDriverJarLocation1但无法在HDFS/user/oozie/share/lib/sqoop位置找到jar。我还尝试将驱动程序jar放在我的workFlow应用程序库中。仍未找到驱动程序错误发生。 最佳答案 您需要在sqoop文件夹内的oozie共享lib文件夹中添加所有lib文件,如jdbc驱动程序等。这应该可以解决您的问题。要检查作业调用/使用的库文件,请转到相应作业的作业跟踪器,在系统日志中您将看到哪些所有jars已被使用。
我正在使用oozie协调器来安排我的hadoop作业。我给出的开始时间是12:26,但它会在8-9小时后开始,并根据我在作业属性文件中给出的频率完成所有剩余的作业。为什么这8小时停止了,它仍然使用我在job.properties中给出的开始时间完成剩余的工作?nameNode=hdfs://localhost:8020jobTracker=localhost:8021queueName=defaultoozie.libpath=${nameNode}/user/oozie/share/liboozie.use.system.libpath=trueoozie.wf.rerun.fail
我的工作流需要使用除job.properties之外的另一个文件。该文件与属性文件具有相同的结构。我有一个创建此文件的结果路径生成器。这个的特殊性在于,每次启动工作流(使用新的输入文件)时它都会发生变化。在我的工作流程中,我需要在执行myspig脚本之前删除这些路径。但是,我不知道如何“告诉”我的工作流我在另一个文件中有其他变量而不是job.properties。你有解决办法吗?谢谢安琪儿 最佳答案 您可以删除PigitSelf中的路径,或者您可以在执行Pig操作之前在工作流中调用fs操作,两者都可以。Pig在文件开头提到rmf命令