草庐IT

shell - OOzie Shell -Impala 操作 XML 错误

我正在尝试使用ozzie运行示例impala查询。运行shell时出现以下错误Error:E0701:E0701:XMLschemaerror,cvc-complex-type.2.3:Element'shell'cannothavecharacter[children],becausethetype'scontenttypeiselement-only.HDFS中的Workflow.xml                                        ${jobTracker}                ${nameNode}mapred.job.queue.na

hadoop - HiveContext 不适用于 Oozie

我试图使用HiveContext对象从我的spark代码运行一些配置单元查询。当我使用sparksubmit从命令行运行它时,它工作正常。但是,当我尝试从oozie工作流运行相同的内容时,出现以下异常。Userclassthrewexception:java.lang.RuntimeException:java.lang.RuntimeException:Unabletoinstantiateorg.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient 最佳答案 如果使用

hadoop - Oozie - 有没有办法在整个集群上只执行一个 java 操作实例?

当我查看我的日志时,我发现我的ooziejava操作实际上在多台机器上运行。我认为这是因为它们被包裹在m/r作业中?(这是正确的吗)有没有办法在整个集群上只执行一个java操作实例? 最佳答案 Java操作在Oozie“启动器”作业中运行,只有一个YARN“映射”容器。诀窍在于每个YARN作业都需要一个应用程序主(AM)容器进行协调。所以你最终有2个容器,_0001用于AM和_0002用于Oozie操作,可能在不同的机器上。要控制每个资源的分配,您可以设置以下操作属性来覆盖您的/etc/hadoop/conf/*-site.xml配

hadoop - 在后续 Action 中获取 YARN Action 应用 ID

我正在运行OOZIE工作流,并在map-reduce操作中进行仅限map的分布式模型拟合。由于有很多映射器,我编写了一个代码,使用yarnlogs-applicationIdapplication_x编译所有映射器任务的YARN日志,其中application_x是所有映射任务的父应用程序ID。现在我想将此摘要作为工作流的一部分,因此我需要动态获取application_x,这是上一个操作的应用程序ID。有什么办法可以得到这个吗? 最佳答案 我没有对此进行测试,但我认为您可以通过工作流EL函数获得此信息:wf:actionExter

hadoop - 在附件的 oozie 电子邮件操作中根据日期传递变量

我正在使用oozie发送带附件的电子邮件。我正在这样做。Actionfailed,errormessage[${wf:errorMessage(wf:lastErrorNode())}]xxxxxxxxxxxxxxx@xxxxxjobsuccesstext/plain/user/XXXX/logs/2017-05-03/exec.log现在在/user/XXXX/logs/2017-05-03/exec.log附近的工作流程中日期总是在变。我如何传递变量,以便在调用工作流时发送特定日期的附件。editedquestion.我的shell脚本:#!/bin/bashTIMESTAMP=`

hadoop - Apache Airflow 分布式处理

我对ApacheAirflow的架构感到困惑。如果我知道,当您在oozie中执行hql或sqoop语句时,oozie会将请求定向到数据节点。我想在ApacheAirflow中实现同样的目标。我想执行shell脚本、hql或sqoop命令,并且我想确保我的命令正在由数据节点分布式执行。Airflow有不同的执行器类型。我应该怎么做才能同时在不同的数据节点上运行命令? 最佳答案 您似乎想在分布式工作人员上执行您的任务。在这种情况下,请考虑使用CeleryExecutor。CeleryExecutorisoneofthewaysyouca

hadoop - oozie 在通过协调器提交作业时模拟了哪个用户

用户模拟/传播在oozie中如何工作? 最佳答案 检查UserPropogation来自Oozie文档。它说Whensubmittingaworkflowjob,theconfigurationmustcontainauser.nameproperty当您没有明确添加此属性时,它会分配给提交作业的用户。 关于hadoop-oozie在通过协调器提交作业时模拟了哪个用户,我们在StackOverflow上找到一个类似的问题: https://stackoverf

hadoop - 带有存档操作的 Oozie 工作流

我想制作一个oozie工作流,其中成功的最后一步是“存档”结果。shell中的命令是hadooparchive-archiveName=XXX.har-p/some/random/parentdirectorToArhivepathToArchiveDestination我试过以下方法Actionfailed,errormessage[${wf:errorMessage(wf:lastErrorNode())}]我得到的错误类似于以下内容:WARNING:ExceptioninRunloopofthread:mainwithmessage:E0701:XMLschemaerror,cv

hadoop - Oozie 堆栈跟踪

我正在尝试按照中的建议使用Spark的SparkSubmitJava类将Spark作业提交给Oozielaunchingasparkprogramusingoozieworkflow但Java操作失败并显示错误消息Mainclass[org.apache.oozie.action.hadoop.JavaMain],exitcode[1]有什么方法可以访问执行错误日志/堆栈跟踪,以便我可以看到到底发生了什么?任何评论/回答表示赞赏。 最佳答案 要获取java操作日志,您可以使用oozie的Web控制台查找该操作的hadoop作业ID。

hadoop - 如何提交 oozie 协调员工作

我有一个在文件coordinator.xml中定义的oozie协调器作业,它运行一个在workflow.xml文件中定义的工作流作业。我想运行协调员作业,但是当我发出命令'ooziejob-ooziehttp://.../oozie/-config./job.properties-run'它运行工作流而不是协调器。我如何告诉它运行协调器而不是工作流? 最佳答案 我找到了解决方案,它基本上是将属性文件中的“oozie.wf.application.path”属性更改为“oozie.coord.application.path”