Details
diff --git a/azkaban-common/src/main/java/azkaban/constants/ServerProperties.java b/azkaban-common/src/main/java/azkaban/constants/ServerProperties.java
index 1158e95..53bd285 100644
--- a/azkaban-common/src/main/java/azkaban/constants/ServerProperties.java
+++ b/azkaban-common/src/main/java/azkaban/constants/ServerProperties.java
@@ -47,4 +47,12 @@ public class ServerProperties {
public static final String IS_METRICS_ENABLED =
"azkaban.is.metrics.enabled";
+
+ // Hostname for the host, if not specified, canonical hostname will be used
+ public static final String AZKABAN_SERVER_HOST_NAME = "azkaban.server.hostname";
+
+ // Legacy configs section, new configs should follow the naming convention of azkaban.server.<rest of the name> for server configs.
+
+ // The property is used for the web server to get the host name of the executor when running in SOLO mode.
+ public static final String EXECUTOR_HOST = "executor.host";
}
diff --git a/azkaban-common/src/main/java/azkaban/executor/ExecutorManager.java b/azkaban-common/src/main/java/azkaban/executor/ExecutorManager.java
index b7b3d3d..80b58e7 100644
--- a/azkaban-common/src/main/java/azkaban/executor/ExecutorManager.java
+++ b/azkaban-common/src/main/java/azkaban/executor/ExecutorManager.java
@@ -16,6 +16,7 @@
package azkaban.executor;
+import azkaban.constants.ServerProperties;
import azkaban.utils.FlowUtils;
import java.io.File;
import java.io.IOException;
@@ -196,7 +197,7 @@ public class ExecutorManager extends EventHandler implements
newExecutors.addAll(executorLoader.fetchActiveExecutors());
} else if (azkProps.containsKey("executor.port")) {
// Add local executor, if specified as per properties
- String executorHost = azkProps.getString("executor.host", "localhost");
+ String executorHost = azkProps.getString(ServerProperties.EXECUTOR_HOST, "localhost");
int executorPort = azkProps.getInt("executor.port");
logger.info(String.format("Initializing local executor %s:%d",
executorHost, executorPort));
diff --git a/azkaban-exec-server/src/main/java/azkaban/execapp/AzkabanExecutorServer.java b/azkaban-exec-server/src/main/java/azkaban/execapp/AzkabanExecutorServer.java
index 87925c8..023abe2 100644
--- a/azkaban-exec-server/src/main/java/azkaban/execapp/AzkabanExecutorServer.java
+++ b/azkaban-exec-server/src/main/java/azkaban/execapp/AzkabanExecutorServer.java
@@ -18,6 +18,7 @@ package azkaban.execapp;
import com.google.common.base.Throwables;
+import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.joda.time.DateTimeZone;
import org.mortbay.jetty.Connector;
@@ -552,6 +553,13 @@ public class AzkabanExecutorServer {
* @return hostname
*/
public String getHost() {
+ if(props.containsKey(ServerProperties.AZKABAN_SERVER_HOST_NAME)) {
+ String hostName = props.getString(ServerProperties.AZKABAN_SERVER_HOST_NAME);
+ if(!StringUtils.isEmpty(hostName)) {
+ return hostName;
+ }
+ }
+
String host = "unkownHost";
try {
host = InetAddress.getLocalHost().getCanonicalHostName();