草庐IT

hadoop - 是否有必要在 oozie 操作内容中保持一定的顺序?

当我尝试使用以下代码运行ooziehive操作时${jobTracker}${nameNode}hive-site.xmlmapred.job.queue.name${queueName}hive.insert.into.multilevel.dirstruehbase.zookeeper.quorum${hbaseZooQuorum}${HIVE_QUERY_FILE}我收到以下错误:Error:E0701:E0701:XMLschemaerror,cvc-complex-type.2.4.a:Invalidcontentwasfoundstartingwithelement'pre

hadoop - 通过 HUE 创建的 Oozie 工作流的 Rest API

我已经通过Hue界面创建了一个Oozie工作流。我有几个与此相关的问题一个。我可以看到创建的工作流XML。但我没有看到job.properties文件。Job.properties存储在哪里?有RESTAPI可以提交通过编写workflow.xml和job.properties创建的Oozie作业。对于通过HUE创建的oozie工作流,RESTAPI是什么?任何样本都会有所帮助。 最佳答案 不想先提出问题再回答。但由于我不得不搜索一段时间,所以答案可能会对某人有所帮助......当使用Hue创建Oozie工作流时,工作流xml由Hu

hadoop - 检查 Oozie Hive 操作中的 EL 表达式中是否存在变量

我正在尝试为Oozie工作流创建一个通用模板,以用于运行不同的配置单元脚本。每个配置单元脚本都有自己的参数。在Oozie的HiveAction中,使用PARAM标签设置参数时,我需要检查一个变量是否存在,如果不存在,我需要将其默认为“”。我试过了,my_parameter_var=${emptymy_parameter?"":my_parameter}这仅适用于检查my_parameter是否为null或空字符串。如果变量根本不存在,则此检查失败;出现以下错误:ErrorCode:EL_ERRORErrorMessage:variable[my_parameter]cannotbere

hadoop - 无法使用 Oozie 部署 Spark 作业

我需要让Spark作业全天候运行24/7,为此我正在使用Oozie。为此,我编写了一个workflow.xml和job.properties文件,其中包含调用它所需的信息。然而,当我尝试使用此发送oozie作业时:ooziejob–config/home/oozie/tst/job.properties-run我收到以下错误消息,非常清楚:java.io.IOException:configurationisnotspecifiedatorg.apache.oozie.cli.OozieCLI.getConfiguration(OozieCLI.java:816)atorg.apach

hadoop - Oozie s3 作为作业文件夹

当从s3提供workflow.xml时,Oozie失败并出现以下错误,但从HDFS提供workflow.xml时同样有效。同样适用于早期版本的oozie,与4.3版本的oozie相比有什么变化吗?环境:HDP3.1.0Oozie4.3.1oozie.service.HadoopAccessorService.supported.filesystems=*Job.propertiesnameNode=hdfs://ambari-master-1a.xdata.com:8020jobTracker=ambari-master-2a.xdata.com:8050queue=default#O

hadoop - Oozie 和 Hive : FAILED: SemanticException Unable to fetch table <table_name>

我今天刚启动Oozie,我注意到在运行Hive操作时出现不一致的错误。当我运行完全相同的Oozie工作流时,有时它会成功,而有时它会因Hive操作的此错误而失败:FAILED:SemanticExceptionUnabletofetchtable1)这是什么原因?2)解决方法是什么?目前我只是再次运行Oozie作业直到成功,有时需要多次尝试。我正在使用ClouderaCDH4、MRv1。我是手动安装的,而不是使用ClouderaManager。我有一个三节点集群。Master节点包含NameNode、SecondaryNameNode、JobTracker、HMaster;此外,Mas

hadoop - 在 Oozie 工作流中的 MapReduce 作业中设置 Reducer 的数量

我有一个五节点集群,其中三个节点包含DataNodes和TaskTrackers。我已经通过Sqoop从Oracle导入了大约1000万行,并在Oozie工作流中通过MapReduce对其进行了处理。MapReduce作业大约需要30分钟,并且只使用了一个reducer。编辑-如果我单独运行MapReduce代码,与Oozie分开,job.setNumReduceTasks(4)正确地建立了4个reducer。我尝试了以下方法手动将reducer的数量设置为四个,但没有成功:在Oozie中,在mapreduce节点的tag中设置如下属性:mapred.reduce.tasks4在Map

hadoop - Hive 操作的 Oozie 工作流程

我正在使用oozie一个接一个地执行几个配置单元查询,如果查询失败,它将发送错误电子邮件,指出特定的配置单元查询失败。现在我必须根据每个配置单元查询的结果实现另一个电子邮件触发器。那么我们该怎么做呢?就像查询返回任何结果然后将结果发送到电子邮件并继续执行剩余的配置单元查询一样。无论查询返回值与否,oozie工作流执行都不应停止。简而言之,如果它返回值,则发送电子邮件并继续,如果它没有返回值,它也应该继续执行。提前致谢。 最佳答案 如果您想根据上一步做出决定,最好使用shell操作(hive-e选项来执行查询)以及oozie中的cap

hadoop - Oozie:传播配置不起作用

我可能遗漏了一些东西,因为propagate-configuration似乎对我不起作用。我有一个基本工作流base.xml,配置如下:${jobTracker}${nameNode}application-config.xmlpaths.prefix.metadata${nameNode}${fimProcessingMetadataPath}在这个文件中,我定义了如下子工作流:${nameNode}${workflowPath}/a.xml${nameNode}${workflowPath}/b.xml//Heretherearemanysub-workflowslikethese

hadoop - 在 Oozie 中覆盖 fs.permissions.umask-mode

我正在运行一个JavaOozie操作,它运行删除和创建文件夹的常用prepare命令。创建的文件夹的umask为022(集群默认值),但我希望它具有002。在工作流的job.properties中,我有fs.permissions.umask-mode=002。如果我在作业运行时查看传递给操作的配置,则不会使用此值,而是使用默认的umask022。fs.permissions.umask-mode=002未在Ambari中锁定,因此可以更改,并且job.properties中的其他变量已正确传播。我也曾尝试将umask属性放在其他地方,例如包含操作的子工作流中的global标记中,以及