azkaban-uncached
Details
bin/azkaban-executor-start.sh 10(+9 -1)
diff --git a/bin/azkaban-executor-start.sh b/bin/azkaban-executor-start.sh
index 500b966..1ad2eff 100644
--- a/bin/azkaban-executor-start.sh
+++ b/bin/azkaban-executor-start.sh
@@ -22,15 +22,23 @@ do
CLASSPATH=$CLASSPATH:$file
done
+for file in $HADOOP_HOME/hadoop-core*.jar
+do
+ CLASSPATH=$CLASSPATH:$file
+done
+
+CLASSPATH=$CLASSPATH:$HADOOP_HOME/conf
+
echo $azkaban_dir;
echo $base_dir;
echo $CLASSPATH;
executorport=`cat conf/azkaban.properties | grep executor.port | cut -d = -f 2`
echo "Starting AzkabanExecutorServer on port $executorport ..."
+serverpath=`pwd`
if [ -z $AZKABAN_OPTS ]; then
- AZKABAN_OPTS="-Xmx3G -server -Dcom.sun.management.jmxremote -Djava.io.tmpdir=$tmpdir -Dexecutorport=$executorport"
+ AZKABAN_OPTS="-Xmx3G -server -Dcom.sun.management.jmxremote -Djava.io.tmpdir=$tmpdir -Dexecutorport=$executorport -Dserverpath=$serverpath"
fi
NATIVE_LIB_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native/Linux-amd64-64"
bin/azkaban-web-start.sh 12(+11 -1)
diff --git a/bin/azkaban-web-start.sh b/bin/azkaban-web-start.sh
index e53ab33..59f8f7e 100644
--- a/bin/azkaban-web-start.sh
+++ b/bin/azkaban-web-start.sh
@@ -22,12 +22,22 @@ do
CLASSPATH=$CLASSPATH:$file
done
+for file in $HADOOP_HOME/hadoop-core*.jar
+do
+ CLASSPATH=$CLASSPATH:$file
+done
+
+CLASSPATH=$CLASSPATH:$HADOOP_HOME/conf
+
echo $azkaban_dir;
echo $base_dir;
echo $CLASSPATH;
+executorport=`cat conf/azkaban.properties | grep executor.port | cut -d = -f 2`
+serverpath=`pwd`
+
if [ -z $AZKABAN_OPTS ]; then
- AZKABAN_OPTS="-Xmx3G -server -Dcom.sun.management.jmxremote -Djava.io.tmpdir=$tmpdir"
+ AZKABAN_OPTS="-Xmx3G -server -Dcom.sun.management.jmxremote -Djava.io.tmpdir=$tmpdir -Dexecutorport=$executorport -Dserverpath=$serverpath"
fi
HADOOP_NATIVE_LIB="-Djava.library.path=$HADOOP_HOME/lib/native/Linux-amd64-64"
diff --git a/src/java/azkaban/execapp/JobRunner.java b/src/java/azkaban/execapp/JobRunner.java
index c9567d9..6386f56 100644
--- a/src/java/azkaban/execapp/JobRunner.java
+++ b/src/java/azkaban/execapp/JobRunner.java
@@ -196,11 +196,13 @@ public class JobRunner extends EventHandler implements Runnable {
logInfo("Starting job " + node.getJobId() + " at " + node.getStartTime());
node.setStatus(Status.RUNNING);
+
props.put(AbstractProcessJob.JOB_FULLPATH, props.getSource());
// Ability to specify working directory
if (!props.containsKey(AbstractProcessJob.WORKING_DIR)) {
props.put(AbstractProcessJob.WORKING_DIR, workingDir.getAbsolutePath());
}
+
//job = JobWrappingFactory.getJobWrappingFactory().buildJobExecutor(node.getJobId(), props, logger);
job = jobtypeManager.buildJobExecutor(node.getJobId(), props, logger);
}
diff --git a/src/java/azkaban/jobExecutor/AbstractProcessJob.java b/src/java/azkaban/jobExecutor/AbstractProcessJob.java
index 106c218..9e18c13 100644
--- a/src/java/azkaban/jobExecutor/AbstractProcessJob.java
+++ b/src/java/azkaban/jobExecutor/AbstractProcessJob.java
@@ -59,9 +59,9 @@ public abstract class AbstractProcessJob extends AbstractJob {
this.jobProps = jobProps;
this.sysProps = sysProps;
- _jobPath = jobProps.getString(JOB_FULLPATH, jobProps.getSource());
-
_cwd = getWorkingDirectory();
+ _jobPath = _cwd;
+
this.log = log;
}
diff --git a/src/java/azkaban/jobtype/JobTypeManager.java b/src/java/azkaban/jobtype/JobTypeManager.java
index 0090839..e06eb2b 100644
--- a/src/java/azkaban/jobtype/JobTypeManager.java
+++ b/src/java/azkaban/jobtype/JobTypeManager.java
@@ -268,12 +268,14 @@ public class JobTypeManager
// THIS IS WRONG!!! We're just overriding values!
Props jobConf = jobtypeJobProps.containsKey(jobType) ? new Props(jobProps, jobtypeJobProps.get(jobType)) : jobProps;
+
if (sysConf != null) {
sysConf = PropsUtils.resolveProps(sysConf);
}
else {
sysConf = new Props();
}
+
jobConf = PropsUtils.resolveProps(jobConf);
// logger.info("sysConf is " + sysConf);
diff --git a/src/java/azkaban/utils/PropsUtils.java b/src/java/azkaban/utils/PropsUtils.java
index 442b7e6..980bf97 100644
--- a/src/java/azkaban/utils/PropsUtils.java
+++ b/src/java/azkaban/utils/PropsUtils.java
@@ -129,6 +129,8 @@ public class PropsUtils {
.compile("\\$\\{([a-zA-Z_.0-9]+)\\}");
public static Props resolveProps(Props props) {
+ if(props == null) return null;
+
Props resolvedProps = new Props();
for (String key : props.getKeySet()) {
diff --git a/unit/java/azkaban/test/execapp/JobRunnerTest.java b/unit/java/azkaban/test/execapp/JobRunnerTest.java
index 74138c5..a14251b 100644
--- a/unit/java/azkaban/test/execapp/JobRunnerTest.java
+++ b/unit/java/azkaban/test/execapp/JobRunnerTest.java
@@ -262,6 +262,7 @@ public class JobRunnerTest {
Props props = createProps(time, fail);
JobRunner runner = new JobRunner(node, props, workingDir, loader, jobtypeManager);
+
runner.addListener(listener);
return runner;
}
diff --git a/unit/java/azkaban/test/executor/JavaJob.java b/unit/java/azkaban/test/executor/JavaJob.java
index cb6e71e..d5cf9ca 100644
--- a/unit/java/azkaban/test/executor/JavaJob.java
+++ b/unit/java/azkaban/test/executor/JavaJob.java
@@ -44,7 +44,7 @@ public class JavaJob extends JavaProcessJob {
private String props;
public JavaJob(String jobid, Props sysProps, Props jobProps, Logger log) {
- super(jobid, sysProps, jobProps, log);
+ super(jobid, sysProps, new Props(sysProps, jobProps), log);
}
@Override