[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.
This commit is contained in:
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
Reference in New Issue
Block a user