From 8d669aa6b2c3da62d5ed64f93471dfc81d5dc686 Mon Sep 17 00:00:00 2001 From: mengsun Date: Fri, 22 May 2015 16:06:09 +0800 Subject: [PATCH] resolved can not submit job with oozie to between cluster and oozie can not tracker job status --- .../src/main/resources/oozie-workflow-0.6.xsd | 345 ++++++++++++++++++ .../action/hadoop/JavaActionExecutor.java | 11 + 2 files changed, 356 insertions(+) create mode 100644 client/src/main/resources/oozie-workflow-0.6.xsd diff --git a/client/src/main/resources/oozie-workflow-0.6.xsd b/client/src/main/resources/oozie-workflow-0.6.xsd new file mode 100644 index 0000000000..21ac2dc409 --- /dev/null +++ b/client/src/main/resources/oozie-workflow-0.6.xsd @@ -0,0 +1,345 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/core/src/main/java/org/apache/oozie/action/hadoop/JavaActionExecutor.java b/core/src/main/java/org/apache/oozie/action/hadoop/JavaActionExecutor.java index 695853ebc9..e1c5503297 100644 --- a/core/src/main/java/org/apache/oozie/action/hadoop/JavaActionExecutor.java +++ b/core/src/main/java/org/apache/oozie/action/hadoop/JavaActionExecutor.java @@ -51,6 +51,7 @@ import org.apache.hadoop.mapred.RunningJob; import org.apache.hadoop.mapreduce.security.token.delegation.DelegationTokenIdentifier; import org.apache.hadoop.util.DiskChecker; +import org.apache.hadoop.yarn.conf.YarnConfiguration; import org.apache.oozie.WorkflowActionBean; import org.apache.oozie.WorkflowJobBean; import org.apache.oozie.action.ActionExecutor; @@ -211,6 +212,11 @@ protected JobConf createBaseHadoopConf(Context context, Element actionXml, boole Namespace ns = actionXml.getNamespace(); String jobTracker = actionXml.getChild("job-tracker", ns).getTextTrim(); String nameNode = actionXml.getChild("name-node", ns).getTextTrim(); + String rn_admin_ad = actionXml.getChild("rm-admin-ad", ns) == null ? null : actionXml.getChild("rm-admin-ad", ns).getTextTrim(); + String rm_scheduler_ad = actionXml.getChild("rm-scheduler-ad", ns) == null ? null : actionXml.getChild("rm-scheduler-ad",ns).getTextTrim(); + String rm_resource_tracker_ad = actionXml.getChild("rm-resource-tracker-ad", ns) == null ? null : actionXml.getChild("rm-resource-tracker-ad",ns).getTextTrim(); + String mr_jobhistory_ad = actionXml.getChild("mr-jobhistory-ad", ns) == null ? null : actionXml.getChild("mr-jobhistory-ad",ns).getTextTrim(); + String mr_jobhistory_admin_ad = actionXml.getChild("mr-jobhistory-admin-ad", ns) == null ? null : actionXml.getChild("mr-jobhistory-admin-ad", ns).getTextTrim(); JobConf conf = null; if (loadResources) { conf = Services.get().get(HadoopAccessorService.class).createJobConf(jobTracker); @@ -223,6 +229,11 @@ protected JobConf createBaseHadoopConf(Context context, Element actionXml, boole conf.set(HADOOP_JOB_TRACKER_2, jobTracker); conf.set(HADOOP_YARN_RM, jobTracker); conf.set(HADOOP_NAME_NODE, nameNode); + conf.set(YarnConfiguration.RM_ADMIN_ADDRESS,rn_admin_ad != null ? rn_admin_ad : jobTracker.split(":")[0] + ":8033"); + conf.set(YarnConfiguration.RM_SCHEDULER_ADDRESS,rm_scheduler_ad != null ? rm_scheduler_ad : jobTracker.split(":")[0] + ":8030"); + conf.set(YarnConfiguration.RM_RESOURCE_TRACKER_ADDRESS,rm_resource_tracker_ad != null ? rm_resource_tracker_ad : jobTracker.split(":")[0] + ":8031"); + conf.set("mapreduce.jobhistory.address", mr_jobhistory_ad != null ? mr_jobhistory_ad : jobTracker.split(":")[0] + ":10020"); + conf.set("mapreduce.jobhistory.admin.address", mr_jobhistory_admin_ad != null ? mr_jobhistory_admin_ad : jobTracker.split(":")[0] + ":10033"); conf.set("mapreduce.fileoutputcommitter.marksuccessfuljobs", "true"); return conf; }