草庐IT

oozie-workflow

全部标签

hadoop - 如何将参数传递给 Oozie 中的 mapreduce 作业

我有一个打包为jar文件(mymapreduce.jar)的mapreduce作业。运行时,它需要一些参数,例如hadoopjarmymapreduce.jarStartClass-i输入-p参数1-u参数2。如何将它写为Oozie工作流文件中的一个Action? 最佳答案 在job.properties文件中写入你要在oozie工作流中使用的参数如下nameNode=hdfs://localhost:9000hdfs://abc.xyz.yahoo.com:8020jobTracker=localhost:9001queueNam

hadoop - Oozie 协调工作流

我需要根据命中同一个表的不同文件集运行多个mapreduce作业。我正在探索Oozie,但我并不完全了解Oozie。我的要求是1.根据时间限制(和/或)文件限制运行作业。2.如果某些文件不可用,则应跳过此步骤。3.用户应该能够配置哪些步骤以及每个步骤的优先级。任何人都可以建议Oozie是否符合我的要求?如果可以,我该如何完成?如果没有,是否有任何类似于VisualCron的免费或商业工具可供我们替换以运行mapreduce和基于java的作业? 最佳答案 基本上,您希望根据一天中预定时间的数据可用性为一堆MR作业运行oozie工作流

hadoop 作业与 pyspark 和 oozie 陷入僵局

我正在尝试使用oozie在yarn上运行pyspark,提交工作流后,hadoop作业队列中有2个作业,一个是oozie作业,其应用程序类型为“mapreduce”,另一个作业被触发通过前一个,应用程序类型为“Spark”,当第一个作业正在运行时,第二个作业仍处于“已接受”状态。问题来了,而第一个作业正在等待第二个作业完成继续,第二个是等待第一个完成运行,我可能陷入死锁,我怎么能摆脱这个麻烦,应用程序类型为“mapreduce”的hadoop作业是否与不同应用程序的其他作业并行运行类型?感谢任何建议,谢谢! 最佳答案 请将属性值检查

hadoop - sqoop 导出通过 oozie 失败

我正在尝试通过sqoop从hdfs将数据导出到mysql。我能够通过shell运行sqoop,并且运行良好。但是当我通过oozie调用时。它出现以下错误并失败。我还包括jar。没有描述性日志sqoop脚本:export--connectjdbc:mysql://localhost/bigdata--usernameroot--passwordcloudera--verbose--tableAGGREGATED_METRICS--input-fields-terminated-by'\0001'--export-dir/bigdata/aggregated_metrics错误:Launc

sql-server - Oozie Sqoop 作业

我正在尝试将sqoop作业作为oozie操作运行。我将MySQL作为jobtracker节点上的元存储。我在某处读到ooziesqoop无法通过导入创建配置单元表。所以我试图将数据转储到hdfs中。现在还是这样吗?我检查了共享库。我正在尝试从MSSQL数据库中获取Sqoop。当我运行不需要来自shell的元存储的sqoop命令时,它可以工作。sqoopimport--connect'jdbc:sqlserver://host;username=sqoopimport;password=password;database=db1'--tablet1--target-dir/user/ro

hadoop - oozie ssh 操作需要很长时间才能完成

我尝试使用以下操作代码在oozie中运行ssh操作工作流作业无密码ssh已配置:127.0.0.1/bin/bash/home/510600/HADOOP_ECO/CDH4/oozietest/test.shfirst${jobTracker}${nameNode}${parse_mainClass}${inputDir}${parse_Output}我在上面的代码中遇到的问题是ooziessh操作需要很长时间才能完成,即使使用2行shell脚本,但是其他操作运行速度非常快。对于上述2个操作,sshaction需要12分钟才能完成,而WordCount操作只需要15秒即可完成我的she

hadoop - 是否可以只用一个协调器启动一些 oozie 工作流?

我不确定如何使用好的工具来完成我想要的。我有很多工作流可以依赖也可以不依赖。例子:/工作流程1/workflow.xml/job.properties/工作流程2/workflow.xml/job.properties....我认为我们可以拥有一个可以启动(在某些数据条件下)所有工作流的协调器。但我开始认为这不是好的做法。我们是否应该为每个工作流程配备一名协调员,并提供所有执行条件+一个启动所有协调员的bundle?像那样:/wf1/workflow.xml/job.properties/协调器.xml/wf2/workflow.xml/job.properties/协调器.xml/b

hadoop - pig : Container is running beyond physical memory limits in cdh 5 using oozie

我正在尝试运行一个简单的pig脚本,该脚本在gruntshell中运行f9但不使用oozie,出现如下错误:容器[pid=2617,containerID=container_1438923434512_12103_01_000002]正在超出物理内存限制运行。当前使用情况:已使用1.0GB的1GB物理内存;使用了2.9GB的2.1GB虚拟内存。杀死容器。container_1438923434512_12103_01_000002..的进程树转储..实际上我正在通过oozie调用一个shell脚本,实习生调用pig脚本并得到这样的错误。我怎样才能让它在oozie中可用

java - 无法在 Oozie java 操作中设置 mapred.job.queue.name

我有一个运行紧迫作业的应用程序。我正在尝试将Oozie配置为使用Java操作运行此作业。我的操作如下,${jobTracker}${nameNode}mapred.job.queue.namelaunchercom.test.Main-Dmapred.output.compress=false-Dmapred.textoutputformat.separator=,-Dcrunch.disable.output.counters=trueActionfailed,errormessage[${wf:errorMessage(wf:lastErrorNode())}]但每次我运行Oozi

shell - 如何在 OOZIE 的决策节点中动态获取文件名?

我想检查文件是否存在,在HDFS位置使用oozie批处理。在我的HDFS位置,在每天晚上11点,我会得到像“test_08_01_2016.csv”、“test_08_02_2016.csv”这样的文件。所以我想在晚上11点15分之后检查文件是否存在,我可以在不使用决策节点时检查文件是否存在。通过使用以下工作流程。${fs:exists("/user/cloudera/file/input/test_08_01_2016.csv")}${jobTracker}${nameNode}jdbc:hive2://quickstart.cloudera:10000/default/user/c