diff --git a/docker/build/conf/dolphinscheduler/common.properties.tpl b/docker/build/conf/dolphinscheduler/common.properties.tpl index ccf25d85b08808b1cc3a397482b50edc1299e3fa..83776a00a2d05ca2151b367f51b4987e1ea368a4 100644 --- a/docker/build/conf/dolphinscheduler/common.properties.tpl +++ b/docker/build/conf/dolphinscheduler/common.properties.tpl @@ -78,6 +78,9 @@ datasource.encryption.salt=${DATASOURCE_ENCRYPTION_SALT} # use sudo or not, if set true, executing user is tenant user and deploy user needs sudo permissions; if set false, executing user is the deploy user and doesn't need sudo permissions sudo.enable=${SUDO_ENABLE} +# network interface preferred like eth0, default: empty +#dolphin.scheduler.network.interface.preferred= + # network IP gets priority, default: inner outer #dolphin.scheduler.network.priority.strategy=default diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java index 4320bd9710a9d59dd1055d1a5c3a62f60081f47b..0fac8040a3d8d819bed613181109cf8129d1c02b 100644 --- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java +++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java @@ -1029,11 +1029,6 @@ public final class Constants { */ public static final String SYSTEM_LINE_SEPARATOR = System.getProperty("line.separator"); - /** - * net system properties - */ - public static final String DOLPHIN_SCHEDULER_PREFERRED_NETWORK_INTERFACE = "dolphin.scheduler.network.interface.preferred"; - public static final String EXCEL_SUFFIX_XLS = ".xls"; @@ -1045,9 +1040,14 @@ public final class Constants { public static final String DATASOURCE_ENCRYPTION_SALT = "datasource.encryption.salt"; /** - * Network IP gets priority, default inner outer + * network interface preferred + */ + public static final String DOLPHIN_SCHEDULER_NETWORK_INTERFACE_PREFERRED = "dolphin.scheduler.network.interface.preferred"; + + /** + * network IP gets priority, default inner outer */ - public static final String NETWORK_PRIORITY_STRATEGY = "dolphin.scheduler.network.priority.strategy"; + public static final String DOLPHIN_SCHEDULER_NETWORK_PRIORITY_STRATEGY = "dolphin.scheduler.network.priority.strategy"; /** * exec shell scripts diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/NetUtils.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/NetUtils.java index 4f0953f82445e2a442b414faea9de771d29aaa94..926c3ab9075113c7154da3839be244897352cbf8 100644 --- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/NetUtils.java +++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/NetUtils.java @@ -17,8 +17,6 @@ package org.apache.dolphinscheduler.common.utils; -import static org.apache.dolphinscheduler.common.Constants.DOLPHIN_SCHEDULER_PREFERRED_NETWORK_INTERFACE; - import static java.util.Collections.emptyList; import org.apache.dolphinscheduler.common.Constants; @@ -130,7 +128,7 @@ public class NetUtils { Optional addressOp = toValidAddress(addresses.nextElement()); if (addressOp.isPresent()) { try { - if (addressOp.get().isReachable(100)) { + if (addressOp.get().isReachable(200)) { LOCAL_ADDRESS = addressOp.get(); return LOCAL_ADDRESS; } @@ -260,7 +258,8 @@ public class NetUtils { } private static boolean isSpecifyNetworkInterface(NetworkInterface networkInterface) { - String preferredNetworkInterface = System.getProperty(DOLPHIN_SCHEDULER_PREFERRED_NETWORK_INTERFACE); + String preferredNetworkInterface = PropertyUtils.getString(Constants.DOLPHIN_SCHEDULER_NETWORK_INTERFACE_PREFERRED, + System.getProperty(Constants.DOLPHIN_SCHEDULER_NETWORK_INTERFACE_PREFERRED)); return Objects.equals(networkInterface.getDisplayName(), preferredNetworkInterface); } @@ -268,7 +267,7 @@ public class NetUtils { if (validNetworkInterfaces.isEmpty()) { return null; } - String networkPriority = PropertyUtils.getString(Constants.NETWORK_PRIORITY_STRATEGY, NETWORK_PRIORITY_DEFAULT); + String networkPriority = PropertyUtils.getString(Constants.DOLPHIN_SCHEDULER_NETWORK_PRIORITY_STRATEGY, NETWORK_PRIORITY_DEFAULT); if (NETWORK_PRIORITY_DEFAULT.equalsIgnoreCase(networkPriority)) { return findAddressByDefaultPolicy(validNetworkInterfaces); } else if (NETWORK_PRIORITY_INNER.equalsIgnoreCase(networkPriority)) { diff --git a/dolphinscheduler-common/src/main/resources/common.properties b/dolphinscheduler-common/src/main/resources/common.properties index 726c799c72c375351b4783362a366a88ac8ad7fa..4005a0afafd82283c2c5c76d5123e614b7a274ce 100644 --- a/dolphinscheduler-common/src/main/resources/common.properties +++ b/dolphinscheduler-common/src/main/resources/common.properties @@ -78,6 +78,9 @@ datasource.encryption.salt=!@#$%^&* # use sudo or not, if set true, executing user is tenant user and deploy user needs sudo permissions; if set false, executing user is the deploy user and doesn't need sudo permissions sudo.enable=true +# network interface preferred like eth0, default: empty +#dolphin.scheduler.network.interface.preferred= + # network IP gets priority, default: inner outer #dolphin.scheduler.network.priority.strategy=default