Files
kafka-console-ui/bin/start.sh
2025-08-06 20:21:02 +08:00

55 lines
1.7 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# 设置jvm堆大小及栈大小
JAVA_MEM_OPTS="-Xmx512m -Xms512m -Xmn256m -Xss256k"
# 获取脚本真实路径兼容Linux和macOS
if [ -L "$0" ]; then
# 处理符号链接
if command -v greadlink >/dev/null 2>&1; then
# macOS使用greadlink需brew install coreutils
SCRIPT_PATH=$(greadlink -f "$0")
else
# Linux使用readlink
SCRIPT_PATH=$(readlink -f "$0")
fi
else
SCRIPT_PATH="$0"
fi
# 如果上述方法失败如macOS无greadlink使用替代方案
if [ -z "$SCRIPT_PATH" ] || [ ! -f "$SCRIPT_PATH" ]; then
# 使用perl跨平台解决方案
SCRIPT_PATH=$(perl -e 'use Cwd "abs_path"; print abs_path(shift)' "$0" 2>/dev/null)
fi
# 最终回退方案
if [ -z "$SCRIPT_PATH" ] || [ ! -f "$SCRIPT_PATH" ]; then
SCRIPT_PATH="$0"
fi
# 计算项目根目录
SCRIPT_DIR=$(dirname "$SCRIPT_PATH")
PROJECT_DIR=$(cd "$SCRIPT_DIR" && cd .. && pwd)
CONF_FILE="$PROJECT_DIR/config/application.yml"
TARGET="$PROJECT_DIR/lib/kafka-console-ui.jar"
# 设置h2文件根目录
DATA_DIR="$PROJECT_DIR"
# 这个是错误输出如果启动命令有误输出到这个文件应用日志不会输出到error.out应用日志输出到上面的kafka-console-ui.log中
ERROR_OUT="$PROJECT_DIR/error.out"
# 日志目录
LOG_HOME="$PROJECT_DIR"
PROCESS_FLAG="kafka-console-ui-process-flag:${PROJECT_DIR}"
JAVA_OPTS="$JAVA_OPTS $JAVA_MEM_OPTS -Dfile.encoding=utf-8"
# 启动应用
nohup java -jar $JAVA_OPTS "$TARGET" \
--spring.config.location="$CONF_FILE" \
--logging.home="$LOG_HOME" \
--data.dir="$DATA_DIR" \
"$PROCESS_FLAG" >/dev/null 2>"$ERROR_OUT" &
echo "Kafka-console-ui Started! PID: $!"