This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.1 by this push:
new 980f28f9e2f [feat](docker)Modify the init_be and start_be scripts to
meet the requirements for rapid Docker startup(Merge 2.1). (#45858)
980f28f9e2f is described below
commit 980f28f9e2fa21116168fa424437486ba0a722df
Author: FreeOnePlus <[email protected]>
AuthorDate: Wed Dec 25 12:11:14 2024 +0800
[feat](docker)Modify the init_be and start_be scripts to meet the
requirements for rapid Docker startup(Merge 2.1). (#45858)
### What problem does this PR solve?
Issue Number: close #xxx
Related PR: #45267
Master PR: #45269
Problem Summary:
To meet the needs of rapid Docker startup, I have made adjustments to
two related scripts in the Docker startup process. First, I added a env
`SKIP_CHECK_ULIMIT` to the `start_be.sh` script, which will skip the
size checks for `swap`, `ulimit`, and `max_map_count`. At the same time,
I used `--console` to start the process and print logs. The reason why I
did not use the `--daemon` daemon command to execute is that starting
with a foreground log printing method in a Docker container is the
correct and reliable approach.
At the same time, I added a check logic for a `be.conf` configuration
item in the `init_be.sh` script: if it is the first time starting,
append the export `SKIP_CHECK_ULIMIT=true` to skip the `ulimit` value
check in the BE process. In summary, these adjustments can meet the
basic requirements for rapid Docker startup usage.
---
bin/start_be.sh | 37 ++++++++++++++++++-----------------
docker/runtime/be/resource/init_be.sh | 1 +
2 files changed, 20 insertions(+), 18 deletions(-)
diff --git a/bin/start_be.sh b/bin/start_be.sh
index ed5c47b03df..46aa924ca3b 100755
--- a/bin/start_be.sh
+++ b/bin/start_be.sh
@@ -64,29 +64,30 @@ DORIS_HOME="$(
)"
export DORIS_HOME
-if [[ "$(uname -s)" != 'Darwin' ]]; then
- MAX_MAP_COUNT="$(cat /proc/sys/vm/max_map_count)"
- if [[ "${MAX_MAP_COUNT}" -lt 2000000 ]]; then
- echo "Please set vm.max_map_count to be 2000000 under root using
'sysctl -w vm.max_map_count=2000000'."
- exit 1
+if [[ "${SKIP_CHECK_ULIMIT:- "false"}" != "true" ]]; then
+ if [[ "$(uname -s)" != 'Darwin' ]]; then
+ MAX_MAP_COUNT="$(cat /proc/sys/vm/max_map_count)"
+ if [[ "${MAX_MAP_COUNT}" -lt 2000000 ]]; then
+ echo "Please set vm.max_map_count to be 2000000 under root using
'sysctl -w vm.max_map_count=2000000'."
+ exit 1
+ fi
+
+ if [[ "$(swapon -s | wc -l)" -gt 1 ]]; then
+ echo "Please disable swap memory before installation."
+ exit 1
+ fi
fi
- if [[ "$(swapon -s | wc -l)" -gt 1 ]]; then
- echo "Please disable swap memory before installation."
+ MAX_FILE_COUNT="$(ulimit -n)"
+ if [[ "${MAX_FILE_COUNT}" -lt 60000 ]]; then
+ echo "Set max number of open file descriptors to a value greater than
60000."
+ echo "Ask your system manager to modify /etc/security/limits.conf and
append content like"
+ echo " * soft nofile 655350"
+ echo " * hard nofile 655350"
+ echo "and then run 'ulimit -n 655350' to take effect on current
session."
exit 1
fi
fi
-
-MAX_FILE_COUNT="$(ulimit -n)"
-if [[ "${MAX_FILE_COUNT}" -lt 60000 ]]; then
- echo "Set max number of open file descriptors to a value greater than
60000."
- echo "Ask your system manager to modify /etc/security/limits.conf and
append content like"
- echo " * soft nofile 655350"
- echo " * hard nofile 655350"
- echo "and then run 'ulimit -n 655350' to take effect on current session."
- exit 1
-fi
-
# add java libs
# Must add hadoop libs, because we should load specified jars
# instead of jars in hadoop libs, such as avro
diff --git a/docker/runtime/be/resource/init_be.sh
b/docker/runtime/be/resource/init_be.sh
index 42afd1f6754..996453bcedf 100644
--- a/docker/runtime/be/resource/init_be.sh
+++ b/docker/runtime/be/resource/init_be.sh
@@ -161,6 +161,7 @@ _main() {
fi
check_be_status
doris_note "Ready to start BE!"
+ export SKIP_CHECK_ULIMIT=true
${DORIS_HOME}/be/bin/start_be.sh --console &
child_pid=$!
wait $child_pid
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]