This is an automated email from the ASF dual-hosted git repository.
wenjun pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
The following commit(s) were added to refs/heads/dev by this push:
new 406aeaf659 Use jvm_args_env.sh to set JVM args (#14487)
406aeaf659 is described below
commit 406aeaf6598c45142751698e56af646f9231e9e4
Author: Wenjun Ruan <[email protected]>
AuthorDate: Mon Jul 10 17:39:57 2023 +0800
Use jvm_args_env.sh to set JVM args (#14487)
---
.../cluster-test/mysql/dolphinscheduler_env.sh | 3 +++
.../workflows/cluster-test/mysql/running_test.sh | 25 +++++++++++++++----
.../postgresql/dolphinscheduler_env.sh | 3 +++
.../cluster-test/postgresql/running_test.sh | 28 ++++++++++++++++++----
docs/docs/en/architecture/configuration.md | 23 +++++++++++-------
docs/docs/zh/architecture/configuration.md | 25 ++++++++++++-------
.../src/main/bin/jvm_args_env.sh | 20 ++++++++--------
.../src/main/bin/start.sh | 17 ++++++++++++-
.../src/main/bin/jvm_args_env.sh | 20 ++++++++--------
dolphinscheduler-api/src/main/bin/start.sh | 17 ++++++++++++-
.../{docker/Dockerfile => bin/jvm_args_env.sh} | 20 ++++++++--------
dolphinscheduler-master/src/main/bin/start.sh | 17 ++++++++++++-
dolphinscheduler-master/src/main/docker/Dockerfile | 2 +-
.../server/master/rpc/MasterRpcClient.java | 2 +-
.../src/main/bin/jvm_args_env.sh | 20 ++++++++--------
.../src/main/bin/start.sh | 14 ++++++++++-
.../src/main/bin/jvm_args_env.sh | 20 ++++++++--------
dolphinscheduler-worker/src/main/bin/start.sh | 17 ++++++++++++-
18 files changed, 209 insertions(+), 84 deletions(-)
diff --git a/.github/workflows/cluster-test/mysql/dolphinscheduler_env.sh
b/.github/workflows/cluster-test/mysql/dolphinscheduler_env.sh
index 3727538d5e..10be4d8453 100755
--- a/.github/workflows/cluster-test/mysql/dolphinscheduler_env.sh
+++ b/.github/workflows/cluster-test/mysql/dolphinscheduler_env.sh
@@ -45,6 +45,9 @@ export DATAX_HOME=${DATAX_HOME:-/opt/soft/datax}
export
PATH=$HADOOP_HOME/bin:$SPARK_HOME/bin:$PYTHON_HOME/bin:$JAVA_HOME/bin:$HIVE_HOME/bin:$FLINK_HOME/bin:$DATAX_HOME/bin:$PATH
+export MASTER_RESERVED_MEMORY=0.01
+export WORKER_RESERVED_MEMORY=0.01
+
# applicationId auto collection related configuration, the following
configurations are unnecessary if setting appId.collect=log
#export HADOOP_CLASSPATH=`hadoop
classpath`:${DOLPHINSCHEDULER_HOME}/tools/libs/*
#export SPARK_DIST_CLASSPATH=$HADOOP_CLASSPATH:$SPARK_DIST_CLASS_PATH
diff --git a/.github/workflows/cluster-test/mysql/running_test.sh
b/.github/workflows/cluster-test/mysql/running_test.sh
index eeaa06c2d6..7582c3ccc5 100644
--- a/.github/workflows/cluster-test/mysql/running_test.sh
+++ b/.github/workflows/cluster-test/mysql/running_test.sh
@@ -24,7 +24,7 @@ WORKER_HEALTHCHECK_COMMAND="curl -I -m 10 -o /dev/null -s -w
%{http_code} http:/
ALERT_HEALTHCHECK_COMMAND="curl -I -m 10 -o /dev/null -s -w %{http_code}
http://0.0.0.0:50053/actuator/health"
#Cluster start health check
-TIMEOUT=120
+TIMEOUT=180
START_HEALTHCHECK_EXITCODE=0
for ((i=1; i<=TIMEOUT; i++))
@@ -45,11 +45,28 @@ do
fi
if [[ $i -eq $TIMEOUT ]];then
- docker exec -u root ds bash -c "cat
/root/apache-dolphinscheduler-*-SNAPSHOT-bin/master-server/logs/dolphinscheduler-master.log"
- echo "cluster start health check failed"
+ if [[ $MASTER_HTTP_STATUS -ne 200 ]];then
+ docker exec -u root ds bash -c "cat
/root/apache-dolphinscheduler-*-SNAPSHOT-bin/master-server/logs/dolphinscheduler-master.log"
+ docker exec -u root ds bash -c "cat
/root/apache-dolphinscheduler-*-SNAPSHOT-bin/master-server/logs/*.out"
+ echo "master start health check failed"
+ fi
+ if [[ $WORKER_HTTP_STATUS -ne 200 ]]; then
+ docker exec -u root ds bash -c "cat
/root/apache-dolphinscheduler-*-SNAPSHOT-bin/worker-server/logs/dolphinscheduler-worker.log"
+ docker exec -u root ds bash -c "cat
/root/apache-dolphinscheduler-*-SNAPSHOT-bin/worker-server/logs/*.out"
+ echo "worker start health check failed"
+ fi
+ if [[ $API_HTTP_STATUS -ne 200 ]]; then
+ docker exec -u root ds bash -c "cat
/root/apache-dolphinscheduler-*-SNAPSHOT-bin/api-server/logs/dolphinscheduler-api.log"
+ docker exec -u root ds bash -c "cat
/root/apache-dolphinscheduler-*-SNAPSHOT-bin/api-server/logs/*.out"
+ echo "api start health check failed"
+ fi
+ if [[ $ALERT_HTTP_STATUS -ne 200 ]]; then
+ docker exec -u root ds bash -c "cat
/root/apache-dolphinscheduler-*-SNAPSHOT-bin/alert-server/logs/dolphinscheduler-alert.log"
+ docker exec -u root ds bash -c "cat
/root/apache-dolphinscheduler-*-SNAPSHOT-bin/alert-server/logs/*.out"
+ echo "alert start health check failed"
+ fi
exit $START_HEALTHCHECK_EXITCODE
fi
-
sleep 1
done
diff --git a/.github/workflows/cluster-test/postgresql/dolphinscheduler_env.sh
b/.github/workflows/cluster-test/postgresql/dolphinscheduler_env.sh
index 63437283b6..445b5bae99 100644
--- a/.github/workflows/cluster-test/postgresql/dolphinscheduler_env.sh
+++ b/.github/workflows/cluster-test/postgresql/dolphinscheduler_env.sh
@@ -45,6 +45,9 @@ export DATAX_HOME=${DATAX_HOME:-/opt/soft/datax}
export
PATH=$HADOOP_HOME/bin:$SPARK_HOME/bin:$PYTHON_HOME/bin:$JAVA_HOME/bin:$HIVE_HOME/bin:$FLINK_HOME/bin:$DATAX_HOME/bin:$PATH
+export MASTER_RESERVED_MEMORY=0.01
+export WORKER_RESERVED_MEMORY=0.01
+
# applicationId auto collection related configuration, the following
configurations are unnecessary if setting appId.collect=log
#export HADOOP_CLASSPATH=`hadoop
classpath`:${DOLPHINSCHEDULER_HOME}/tools/libs/*
#export SPARK_DIST_CLASSPATH=$HADOOP_CLASSPATH:$SPARK_DIST_CLASS_PATH
diff --git a/.github/workflows/cluster-test/postgresql/running_test.sh
b/.github/workflows/cluster-test/postgresql/running_test.sh
index eeaa06c2d6..0bc861c389 100644
--- a/.github/workflows/cluster-test/postgresql/running_test.sh
+++ b/.github/workflows/cluster-test/postgresql/running_test.sh
@@ -24,7 +24,7 @@ WORKER_HEALTHCHECK_COMMAND="curl -I -m 10 -o /dev/null -s -w
%{http_code} http:/
ALERT_HEALTHCHECK_COMMAND="curl -I -m 10 -o /dev/null -s -w %{http_code}
http://0.0.0.0:50053/actuator/health"
#Cluster start health check
-TIMEOUT=120
+TIMEOUT=180
START_HEALTHCHECK_EXITCODE=0
for ((i=1; i<=TIMEOUT; i++))
@@ -45,10 +45,28 @@ do
fi
if [[ $i -eq $TIMEOUT ]];then
- docker exec -u root ds bash -c "cat
/root/apache-dolphinscheduler-*-SNAPSHOT-bin/master-server/logs/dolphinscheduler-master.log"
- echo "cluster start health check failed"
- exit $START_HEALTHCHECK_EXITCODE
- fi
+ if [[ $MASTER_HTTP_STATUS -ne 200 ]];then
+ docker exec -u root ds bash -c "cat
/root/apache-dolphinscheduler-*-SNAPSHOT-bin/master-server/logs/dolphinscheduler-master.log"
+ docker exec -u root ds bash -c "cat
/root/apache-dolphinscheduler-*-SNAPSHOT-bin/master-server/logs/*.out"
+ echo "master start health check failed"
+ fi
+ if [[ $WORKER_HTTP_STATUS -ne 200 ]]; then
+ docker exec -u root ds bash -c "cat
/root/apache-dolphinscheduler-*-SNAPSHOT-bin/worker-server/logs/dolphinscheduler-worker.log"
+ docker exec -u root ds bash -c "cat
/root/apache-dolphinscheduler-*-SNAPSHOT-bin/worker-server/logs/*.out"
+ echo "worker start health check failed"
+ fi
+ if [[ $API_HTTP_STATUS -ne 200 ]]; then
+ docker exec -u root ds bash -c "cat
/root/apache-dolphinscheduler-*-SNAPSHOT-bin/api-server/logs/dolphinscheduler-api.log"
+ docker exec -u root ds bash -c "cat
/root/apache-dolphinscheduler-*-SNAPSHOT-bin/api-server/logs/*.out"
+ echo "api start health check failed"
+ fi
+ if [[ $ALERT_HTTP_STATUS -ne 200 ]]; then
+ docker exec -u root ds bash -c "cat
/root/apache-dolphinscheduler-*-SNAPSHOT-bin/alert-server/logs/dolphinscheduler-alert.log"
+ docker exec -u root ds bash -c "cat
/root/apache-dolphinscheduler-*-SNAPSHOT-bin/alert-server/logs/*.out"
+ echo "alert start health check failed"
+ fi
+ exit $START_HEALTHCHECK_EXITCODE
+ fi
sleep 1
done
diff --git a/docs/docs/en/architecture/configuration.md
b/docs/docs/en/architecture/configuration.md
index 423d79fa8f..05d9e99ebc 100644
--- a/docs/docs/en/architecture/configuration.md
+++ b/docs/docs/en/architecture/configuration.md
@@ -32,6 +32,7 @@ The directory structure of DolphinScheduler is as follows:
├── alert-server directory of DolphinScheduler
alert-server commands, configurations scripts and libs
│ ├── bin
│ │ └── start.sh script to start
DolphinScheduler alert-server
+│ │ └── jvm_args_env.sh script to set JVM args of
DolphinScheduler alert-server
│ ├── conf
│ │ ├── application.yaml configurations of alert-server
│ │ ├── bootstrap.yaml configurations for Spring
Cloud bootstrap, mostly you don't need to modify this,
@@ -43,6 +44,7 @@ The directory structure of DolphinScheduler is as follows:
├── api-server directory of DolphinScheduler
api-server commands, configurations scripts and libs
│ ├── bin
│ │ └── start.sh script to start
DolphinScheduler api-server
+│ │ └── jvm_args_env.sh script to set JVM args of
DolphinScheduler api-server
│ ├── conf
│ │ ├── application.yaml configurations of api-server
│ │ ├── bootstrap.yaml configurations for Spring
Cloud bootstrap, mostly you don't need to modify this,
@@ -55,6 +57,7 @@ The directory structure of DolphinScheduler is as follows:
├── master-server directory of DolphinScheduler
master-server commands, configurations scripts and libs
│ ├── bin
│ │ └── start.sh script to start
DolphinScheduler master-server
+│ │ └── jvm_args_env.sh script to set JVM args of
DolphinScheduler master-server
│ ├── conf
│ │ ├── application.yaml configurations of master-server
│ │ ├── bootstrap.yaml configurations for Spring
Cloud bootstrap, mostly you don't need to modify this,
@@ -66,6 +69,7 @@ The directory structure of DolphinScheduler is as follows:
├── standalone-server directory of DolphinScheduler
standalone-server commands, configurations scripts and libs
│ ├── bin
│ │ └── start.sh script to start
DolphinScheduler standalone-server
+│ │ └── jvm_args_env.sh script to set JVM args of
DolphinScheduler standalone-server
│ ├── conf
│ │ ├── application.yaml configurations of
standalone-server
│ │ ├── bootstrap.yaml configurations for Spring
Cloud bootstrap, mostly you don't need to modify this,
@@ -86,15 +90,16 @@ The directory structure of DolphinScheduler is as follows:
│ └── sql .sql files to create or
upgrade DolphinScheduler metadata
│
├── worker-server directory of DolphinScheduler
worker-server commands, configurations scripts and libs
-│ ├── bin
-│ │ └── start.sh script to start
DolphinScheduler worker-server
-│ ├── conf
-│ │ ├── application.yaml configurations of worker-server
-│ │ ├── bootstrap.yaml configurations for Spring
Cloud bootstrap, mostly you don't need to modify this,
-│ │ ├── common.properties configurations of
common-service like storage, credentials, etc.
-│ │ ├── dolphinscheduler_env.sh script to load environment
variables for worker-server
-│ │ └── logback-spring.xml configurations of
worker-service log
-│ └── libs directory of worker-server libs
+│ ├── bin
+│ │ └── start.sh script to start DolphinScheduler
worker-server
+│ │ └── jvm_args_env.sh script to set JVM args of
DolphinScheduler worker-server
+│ ├── conf
+│ │ ├── application.yaml configurations of worker-server
+│ │ ├── bootstrap.yaml configurations for Spring Cloud
bootstrap, mostly you don't need to modify this,
+│ │ ├── common.properties configurations of common-service
like storage, credentials, etc.
+│ │ ├── dolphinscheduler_env.sh script to load environment
variables for worker-server
+│ │ └── logback-spring.xml configurations of worker-service
log
+│ └── libs directory of worker-server libs
│
└── ui directory of front-end web
resources
```
diff --git a/docs/docs/zh/architecture/configuration.md
b/docs/docs/zh/architecture/configuration.md
index 47d0715179..3d91a8797d 100644
--- a/docs/docs/zh/architecture/configuration.md
+++ b/docs/docs/zh/architecture/configuration.md
@@ -30,6 +30,7 @@ DolphinScheduler的目录结构如下:
├── alert-server DolphinScheduler
alert-server命令、配置和依赖存放目录
│ ├── bin
│ │ └── start.sh DolphinScheduler
alert-server启动脚本
+│ │ └── jvm_args_env.sh DolphinScheduler alert-server
jvm参数配置脚本
│ ├── conf
│ │ ├── application.yaml alert-server配置文件
│ │ ├── bootstrap.yaml Spring Cloud 启动阶段配置文件, 通常不需要修改
@@ -41,6 +42,7 @@ DolphinScheduler的目录结构如下:
├── api-server DolphinScheduler
api-server命令、配置和依赖存放目录
│ ├── bin
│ │ └── start.sh DolphinScheduler api-server启动脚本
+│ │ └── jvm_args_env.sh DolphinScheduler api-server
jvm参数配置脚本
│ ├── conf
│ │ ├── application.yaml api-server配置文件
│ │ ├── bootstrap.yaml Spring Cloud 启动阶段配置文件, 通常不需要修改
@@ -53,6 +55,7 @@ DolphinScheduler的目录结构如下:
├── master-server DolphinScheduler
master-server命令、配置和依赖存放目录
│ ├── bin
│ │ └── start.sh DolphinScheduler
master-server启动脚本
+│ │ └── jvm_args_env.sh DolphinScheduler master-server
jvm参数配置脚本
│ ├── conf
│ │ ├── application.yaml master-server配置文件
│ │ ├── bootstrap.yaml Spring Cloud 启动阶段配置文件, 通常不需要修改
@@ -64,6 +67,7 @@ DolphinScheduler的目录结构如下:
├── standalone-server DolphinScheduler
standalone-server命令、配置和依赖存放目录
│ ├── bin
│ │ └── start.sh DolphinScheduler
standalone-server启动脚本
+│ │ └── jvm_args_env.sh DolphinScheduler
standalone-server jvm参数配置脚本
│ ├── conf
│ │ ├── application.yaml standalone-server配置文件
│ │ ├── bootstrap.yaml Spring Cloud 启动阶段配置文件, 通常不需要修改
@@ -74,6 +78,7 @@ DolphinScheduler的目录结构如下:
│ ├── libs standalone-server依赖jar包存放目录
│ └── ui standalone-server相关前端WEB资源存放目录
│
+|
├── tools
DolphinScheduler元数据工具命令、配置和依赖存放目录
│ ├── bin
│ │ └── upgrade-schema.sh DolphinScheduler元数据创建/升级脚本
@@ -83,16 +88,18 @@ DolphinScheduler的目录结构如下:
│ ├── libs 元数据工具依赖jar包存放目录
│ └── sql DolphinScheduler元数据创建/升级sql文件
│
+|
├── worker-server DolphinScheduler
worker-server命令、配置和依赖存放目录
-│ ├── bin
-│ │ └── start.sh DolphinScheduler
worker-server启动脚本
-│ ├── conf
-│ │ ├── application.yaml worker-server配置文件
-│ │ ├── bootstrap.yaml Spring Cloud 启动阶段配置文件, 通常不需要修改
-│ │ ├── common.properties 公共服务(存储等信息)配置文件
-│ │ ├── dolphinscheduler_env.sh worker-server环境变量配置加载脚本
-│ │ └── logback-spring.xml worker-service日志配置文件
-│ └── libs worker-server依赖jar包存放目录
+│ ├── bin
+│ │ └── start.sh DolphinScheduler worker-server 启动脚本
+│ │ └── jvm_args_env.sh DolphinScheduler worker-server
jvm参数配置脚本
+│ ├── conf
+│ │ ├── application.yaml worker-server配置文件
+│ │ ├── bootstrap.yaml Spring Cloud 启动阶段配置文件, 通常不需要修改
+│ │ ├── common.properties 公共服务(存储等信息)配置文件
+│ │ ├── dolphinscheduler_env.sh worker-server环境变量配置加载脚本
+│ │ └── logback-spring.xml worker-service日志配置文件
+│ └── libs worker-server依赖jar包存放目录
│
└── ui 前端WEB资源目录
```
diff --git a/dolphinscheduler-master/src/main/docker/Dockerfile
b/dolphinscheduler-alert/dolphinscheduler-alert-server/src/main/bin/jvm_args_env.sh
similarity index 76%
copy from dolphinscheduler-master/src/main/docker/Dockerfile
copy to
dolphinscheduler-alert/dolphinscheduler-alert-server/src/main/bin/jvm_args_env.sh
index 4d9d12843a..d6ccc3c571 100644
--- a/dolphinscheduler-master/src/main/docker/Dockerfile
+++
b/dolphinscheduler-alert/dolphinscheduler-alert-server/src/main/bin/jvm_args_env.sh
@@ -15,16 +15,16 @@
# limitations under the License.
#
-FROM eclipse-temurin:8-jre
+-Xms1g
+-Xmx1g
+-Xmn512m
-ENV DOCKER true
-ENV TZ Asia/Shanghai
-ENV DOLPHINSCHEDULER_HOME /opt/dolphinscheduler
+-XX:+IgnoreUnrecognizedVMOptions
+-XX:+PrintGCDateStamps
+-XX:+PrintGCDetails
+-Xloggc:gc.log
-WORKDIR $DOLPHINSCHEDULER_HOME
+-XX:+HeapDumpOnOutOfMemoryError
+-XX:HeapDumpPath=dump.hprof
-ADD ./target/master-server $DOLPHINSCHEDULER_HOME
-
-EXPOSE 12345
-
-CMD [ "/bin/bash", "./bin/start.sh" ]
+-Duser.timezone=${SPRING_JACKSON_TIME_ZONE}
\ No newline at end of file
diff --git
a/dolphinscheduler-alert/dolphinscheduler-alert-server/src/main/bin/start.sh
b/dolphinscheduler-alert/dolphinscheduler-alert-server/src/main/bin/start.sh
index 16145e411d..09239cbc49 100644
--- a/dolphinscheduler-alert/dolphinscheduler-alert-server/src/main/bin/start.sh
+++ b/dolphinscheduler-alert/dolphinscheduler-alert-server/src/main/bin/start.sh
@@ -21,12 +21,27 @@ DOLPHINSCHEDULER_HOME=${DOLPHINSCHEDULER_HOME:-$(cd
$BIN_DIR/..; pwd)}
source "$DOLPHINSCHEDULER_HOME/conf/dolphinscheduler_env.sh"
-JAVA_OPTS=${JAVA_OPTS:-"-server -Duser.timezone=${SPRING_JACKSON_TIME_ZONE}
-Xms1g -Xmx1g -Xmn512m -XX:+IgnoreUnrecognizedVMOptions -XX:+PrintGCDateStamps
-XX:+PrintGCDetails -Xloggc:gc.log -XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=dump.hprof"}
+JVM_ARGS_ENV_FILE=${BIN_DIR}/jvm_args_env.sh
+JVM_ARGS="-server"
+
+if [ -f $JVM_ARGS_ENV_FILE ]; then
+ while read line
+ do
+ if [[ "$line" == -* ]]; then
+ JVM_ARGS="${JVM_ARGS} $line"
+ fi
+ done < $JVM_ARGS_ENV_FILE
+fi
+
+JAVA_OPTS=${JAVA_OPTS:-"${JVM_ARGS}"}
if [[ "$DOCKER" == "true" ]]; then
JAVA_OPTS="${JAVA_OPTS} -XX:-UseContainerSupport"
fi
+echo "JAVA_HOME=${JAVA_HOME}"
+echo "JAVA_OPTS=${JAVA_OPTS}"
+
$JAVA_HOME/bin/java $JAVA_OPTS \
-cp "$DOLPHINSCHEDULER_HOME/conf":"$DOLPHINSCHEDULER_HOME/libs/*" \
org.apache.dolphinscheduler.alert.AlertServer
diff --git a/dolphinscheduler-master/src/main/docker/Dockerfile
b/dolphinscheduler-api/src/main/bin/jvm_args_env.sh
similarity index 76%
copy from dolphinscheduler-master/src/main/docker/Dockerfile
copy to dolphinscheduler-api/src/main/bin/jvm_args_env.sh
index 4d9d12843a..d6ccc3c571 100644
--- a/dolphinscheduler-master/src/main/docker/Dockerfile
+++ b/dolphinscheduler-api/src/main/bin/jvm_args_env.sh
@@ -15,16 +15,16 @@
# limitations under the License.
#
-FROM eclipse-temurin:8-jre
+-Xms1g
+-Xmx1g
+-Xmn512m
-ENV DOCKER true
-ENV TZ Asia/Shanghai
-ENV DOLPHINSCHEDULER_HOME /opt/dolphinscheduler
+-XX:+IgnoreUnrecognizedVMOptions
+-XX:+PrintGCDateStamps
+-XX:+PrintGCDetails
+-Xloggc:gc.log
-WORKDIR $DOLPHINSCHEDULER_HOME
+-XX:+HeapDumpOnOutOfMemoryError
+-XX:HeapDumpPath=dump.hprof
-ADD ./target/master-server $DOLPHINSCHEDULER_HOME
-
-EXPOSE 12345
-
-CMD [ "/bin/bash", "./bin/start.sh" ]
+-Duser.timezone=${SPRING_JACKSON_TIME_ZONE}
\ No newline at end of file
diff --git a/dolphinscheduler-api/src/main/bin/start.sh
b/dolphinscheduler-api/src/main/bin/start.sh
index 93def0882f..a0ecaa0819 100644
--- a/dolphinscheduler-api/src/main/bin/start.sh
+++ b/dolphinscheduler-api/src/main/bin/start.sh
@@ -21,12 +21,27 @@ DOLPHINSCHEDULER_HOME=${DOLPHINSCHEDULER_HOME:-$(cd
$BIN_DIR/..; pwd)}
source "$DOLPHINSCHEDULER_HOME/conf/dolphinscheduler_env.sh"
-JAVA_OPTS=${JAVA_OPTS:-"-server -Duser.timezone=${SPRING_JACKSON_TIME_ZONE}
-Xms1g -Xmx1g -Xmn512m -XX:+IgnoreUnrecognizedVMOptions -XX:+PrintGCDateStamps
-XX:+PrintGCDetails -Xloggc:gc.log -XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=dump.hprof"}
+JVM_ARGS_ENV_FILE=${BIN_DIR}/jvm_args_env.sh
+JVM_ARGS="-server"
+
+if [ -f $JVM_ARGS_ENV_FILE ]; then
+ while read line
+ do
+ if [[ "$line" == -* ]]; then
+ JVM_ARGS="${JVM_ARGS} $line"
+ fi
+ done < $JVM_ARGS_ENV_FILE
+fi
+
+JAVA_OPTS=${JAVA_OPTS:-"${JVM_ARGS}"}
if [[ "$DOCKER" == "true" ]]; then
JAVA_OPTS="${JAVA_OPTS} -XX:-UseContainerSupport"
fi
+echo "JAVA_HOME=${JAVA_HOME}"
+echo "JAVA_OPTS=${JAVA_OPTS}"
+
$JAVA_HOME/bin/java $JAVA_OPTS \
-cp "$DOLPHINSCHEDULER_HOME/conf":"$DOLPHINSCHEDULER_HOME/libs/*" \
org.apache.dolphinscheduler.api.ApiApplicationServer
diff --git a/dolphinscheduler-master/src/main/docker/Dockerfile
b/dolphinscheduler-master/src/main/bin/jvm_args_env.sh
similarity index 76%
copy from dolphinscheduler-master/src/main/docker/Dockerfile
copy to dolphinscheduler-master/src/main/bin/jvm_args_env.sh
index 4d9d12843a..c831da7ac7 100644
--- a/dolphinscheduler-master/src/main/docker/Dockerfile
+++ b/dolphinscheduler-master/src/main/bin/jvm_args_env.sh
@@ -15,16 +15,16 @@
# limitations under the License.
#
-FROM eclipse-temurin:8-jre
+-Xms4g
+-Xmx4g
+-Xmn2g
-ENV DOCKER true
-ENV TZ Asia/Shanghai
-ENV DOLPHINSCHEDULER_HOME /opt/dolphinscheduler
+-XX:+IgnoreUnrecognizedVMOptions
+-XX:+PrintGCDateStamps
+-XX:+PrintGCDetails
+-Xloggc:gc.log
-WORKDIR $DOLPHINSCHEDULER_HOME
+-XX:+HeapDumpOnOutOfMemoryError
+-XX:HeapDumpPath=dump.hprof
-ADD ./target/master-server $DOLPHINSCHEDULER_HOME
-
-EXPOSE 12345
-
-CMD [ "/bin/bash", "./bin/start.sh" ]
+-Duser.timezone=${SPRING_JACKSON_TIME_ZONE}
diff --git a/dolphinscheduler-master/src/main/bin/start.sh
b/dolphinscheduler-master/src/main/bin/start.sh
index d00ad19f70..9ffc834f84 100644
--- a/dolphinscheduler-master/src/main/bin/start.sh
+++ b/dolphinscheduler-master/src/main/bin/start.sh
@@ -21,12 +21,27 @@ DOLPHINSCHEDULER_HOME=${DOLPHINSCHEDULER_HOME:-$(cd
$BIN_DIR/..; pwd)}
source "$DOLPHINSCHEDULER_HOME/conf/dolphinscheduler_env.sh"
-JAVA_OPTS=${JAVA_OPTS:-"-server -Duser.timezone=${SPRING_JACKSON_TIME_ZONE}
-Xms4g -Xmx4g -Xmn2g -XX:+IgnoreUnrecognizedVMOptions -XX:+PrintGCDateStamps
-XX:+PrintGCDetails -Xloggc:gc.log -XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=dump.hprof"}
+JVM_ARGS_ENV_FILE=${BIN_DIR}/jvm_args_env.sh
+JVM_ARGS="-server"
+
+if [ -f $JVM_ARGS_ENV_FILE ]; then
+ while read line
+ do
+ if [[ "$line" == -* ]]; then
+ JVM_ARGS="${JVM_ARGS} $line"
+ fi
+ done < $JVM_ARGS_ENV_FILE
+fi
+
+JAVA_OPTS=${JAVA_OPTS:-"${JVM_ARGS}"}
if [[ "$DOCKER" == "true" ]]; then
JAVA_OPTS="${JAVA_OPTS} -XX:-UseContainerSupport"
fi
+echo "JAVA_HOME=${JAVA_HOME}"
+echo "JAVA_OPTS=${JAVA_OPTS}"
+
$JAVA_HOME/bin/java $JAVA_OPTS \
-cp "$DOLPHINSCHEDULER_HOME/conf":"$DOLPHINSCHEDULER_HOME/libs/*" \
org.apache.dolphinscheduler.server.master.MasterServer
diff --git a/dolphinscheduler-master/src/main/docker/Dockerfile
b/dolphinscheduler-master/src/main/docker/Dockerfile
index 4d9d12843a..6699eb9d20 100644
--- a/dolphinscheduler-master/src/main/docker/Dockerfile
+++ b/dolphinscheduler-master/src/main/docker/Dockerfile
@@ -25,6 +25,6 @@ WORKDIR $DOLPHINSCHEDULER_HOME
ADD ./target/master-server $DOLPHINSCHEDULER_HOME
-EXPOSE 12345
+EXPOSE 5678 5679
CMD [ "/bin/bash", "./bin/start.sh" ]
diff --git
a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/rpc/MasterRpcClient.java
b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/rpc/MasterRpcClient.java
index 413523d527..225b27b060 100644
---
a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/rpc/MasterRpcClient.java
+++
b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/rpc/MasterRpcClient.java
@@ -38,7 +38,7 @@ public class MasterRpcClient {
public MasterRpcClient() {
client = new NettyRemotingClient(new NettyClientConfig());
- log.info("Success initialized ApiServerRPCClient...");
+ log.info("Success initialized MasterRPCClient...");
}
public Message sendSyncCommand(@NonNull Host host,
diff --git a/dolphinscheduler-master/src/main/docker/Dockerfile
b/dolphinscheduler-standalone-server/src/main/bin/jvm_args_env.sh
similarity index 76%
copy from dolphinscheduler-master/src/main/docker/Dockerfile
copy to dolphinscheduler-standalone-server/src/main/bin/jvm_args_env.sh
index 4d9d12843a..8bb0a623f9 100644
--- a/dolphinscheduler-master/src/main/docker/Dockerfile
+++ b/dolphinscheduler-standalone-server/src/main/bin/jvm_args_env.sh
@@ -15,16 +15,16 @@
# limitations under the License.
#
-FROM eclipse-temurin:8-jre
+-Xms4g
+-Xmx4g
+-Xmn2g
-ENV DOCKER true
-ENV TZ Asia/Shanghai
-ENV DOLPHINSCHEDULER_HOME /opt/dolphinscheduler
+-XX:+IgnoreUnrecognizedVMOptions
+-XX:+PrintGCDateStamps
+-XX:+PrintGCDetails
+-Xloggc:gc.log
-WORKDIR $DOLPHINSCHEDULER_HOME
+-XX:+HeapDumpOnOutOfMemoryError
+-XX:HeapDumpPath=dump.hprof
-ADD ./target/master-server $DOLPHINSCHEDULER_HOME
-
-EXPOSE 12345
-
-CMD [ "/bin/bash", "./bin/start.sh" ]
+-Duser.timezone=${SPRING_JACKSON_TIME_ZONE}
\ No newline at end of file
diff --git a/dolphinscheduler-standalone-server/src/main/bin/start.sh
b/dolphinscheduler-standalone-server/src/main/bin/start.sh
index f6591ee984..332c15e170 100755
--- a/dolphinscheduler-standalone-server/src/main/bin/start.sh
+++ b/dolphinscheduler-standalone-server/src/main/bin/start.sh
@@ -22,7 +22,19 @@ DOLPHINSCHEDULER_HOME=${DOLPHINSCHEDULER_HOME:-$(cd
$BIN_DIR/..; pwd)}
export DATABASE=${DATABASE:-h2}
source "$DOLPHINSCHEDULER_HOME/conf/dolphinscheduler_env.sh"
-JAVA_OPTS=${JAVA_OPTS:-"-server -Duser.timezone=${SPRING_JACKSON_TIME_ZONE}
-Xms1g -Xmx1g -Xmn512m -XX:+PrintGCDetails -Xloggc:gc.log
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=dump.hprof"}
+JVM_ARGS_ENV_FILE=${BIN_DIR}/jvm_args_env.sh
+JVM_ARGS="-server"
+
+if [ -f $JVM_ARGS_ENV_FILE ]; then
+ while read line
+ do
+ if [[ "$line" == -* ]]; then
+ JVM_ARGS="${JVM_ARGS} $line"
+ fi
+ done < $JVM_ARGS_ENV_FILE
+fi
+
+JAVA_OPTS=${JAVA_OPTS:-"${JVM_ARGS}"}
if [[ "$DOCKER" == "true" ]]; then
JAVA_OPTS="${JAVA_OPTS} -XX:-UseContainerSupport"
diff --git a/dolphinscheduler-master/src/main/docker/Dockerfile
b/dolphinscheduler-worker/src/main/bin/jvm_args_env.sh
similarity index 76%
copy from dolphinscheduler-master/src/main/docker/Dockerfile
copy to dolphinscheduler-worker/src/main/bin/jvm_args_env.sh
index 4d9d12843a..8bb0a623f9 100644
--- a/dolphinscheduler-master/src/main/docker/Dockerfile
+++ b/dolphinscheduler-worker/src/main/bin/jvm_args_env.sh
@@ -15,16 +15,16 @@
# limitations under the License.
#
-FROM eclipse-temurin:8-jre
+-Xms4g
+-Xmx4g
+-Xmn2g
-ENV DOCKER true
-ENV TZ Asia/Shanghai
-ENV DOLPHINSCHEDULER_HOME /opt/dolphinscheduler
+-XX:+IgnoreUnrecognizedVMOptions
+-XX:+PrintGCDateStamps
+-XX:+PrintGCDetails
+-Xloggc:gc.log
-WORKDIR $DOLPHINSCHEDULER_HOME
+-XX:+HeapDumpOnOutOfMemoryError
+-XX:HeapDumpPath=dump.hprof
-ADD ./target/master-server $DOLPHINSCHEDULER_HOME
-
-EXPOSE 12345
-
-CMD [ "/bin/bash", "./bin/start.sh" ]
+-Duser.timezone=${SPRING_JACKSON_TIME_ZONE}
\ No newline at end of file
diff --git a/dolphinscheduler-worker/src/main/bin/start.sh
b/dolphinscheduler-worker/src/main/bin/start.sh
index 289185434b..d9bcdb132e 100644
--- a/dolphinscheduler-worker/src/main/bin/start.sh
+++ b/dolphinscheduler-worker/src/main/bin/start.sh
@@ -23,12 +23,27 @@ source "$DOLPHINSCHEDULER_HOME/conf/dolphinscheduler_env.sh"
export DOLPHINSCHEDULER_WORK_HOME=${DOLPHINSCHEDULER_HOME}
-JAVA_OPTS=${JAVA_OPTS:-"-server -Duser.timezone=${SPRING_JACKSON_TIME_ZONE}
-Xms4g -Xmx4g -Xmn2g -XX:+IgnoreUnrecognizedVMOptions -XX:+PrintGCDateStamps
-XX:+PrintGCDetails -Xloggc:gc.log -XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=dump.hprof"}
+JVM_ARGS_ENV_FILE=${BIN_DIR}/jvm_args_env.sh
+JVM_ARGS="-server"
+
+if [ -f $JVM_ARGS_ENV_FILE ]; then
+ while read line
+ do
+ if [[ "$line" == -* ]]; then
+ JVM_ARGS="${JVM_ARGS} $line"
+ fi
+ done < $JVM_ARGS_ENV_FILE
+fi
+
+JAVA_OPTS=${JAVA_OPTS:-"${JVM_ARGS}"}
if [[ "$DOCKER" == "true" ]]; then
JAVA_OPTS="${JAVA_OPTS} -XX:-UseContainerSupport"
fi
+echo "JAVA_HOME=${JAVA_HOME}"
+echo "JAVA_OPTS=${JAVA_OPTS}"
+
$JAVA_HOME/bin/java $JAVA_OPTS \
-cp "$DOLPHINSCHEDULER_HOME/conf":"$DOLPHINSCHEDULER_HOME/libs/*" \
org.apache.dolphinscheduler.server.worker.WorkerServer