kafka-server-start脚本通过kafka-run-class脚本调用Kafka类来启动Broker,在调用kafka-run-class脚本之前会进行检测命令行参数、设置log4j配置文件、设置JVM内存参数等操作。
#!/bin/bash
if [$# -lt 1]; #检查参数个数
then #打印命令用法
echo "USAGE: $0 [-daemon] server.properties [--override property-value]*"
exit 1
fi
base_ dir=$(dirname $0) #获取当前脚本所在的路径
#设置Log4j相关的环境变量
if [ "x$KAFKA_LOG4J_OPTS" = "x" ]; then
export KAFKA_LOG4J_OPTS =
"-Dlog4j.configuration=file:$base_dir/../config/log4f.properties"
fi
#设置JVM的内存
if[ "x$KAFKA_HEAP_OPTS" = "x"]; then
export KAEKA_HEAP_OPTS="-Xmx1G -Xms1G"
fi
EXTRA ARGS-"-name kafkaServer -1oggc"
#检测第一个参数是否为"-daemon"
COMMAND=$1
case SCOMMAND in
-daemon)
EXTRA_ARGS="-daemon "SEXTRA ARGS
shift # 左移参数列表,即删除"-daemon"参数
# 调用kafka-run-class 脚本
exec $base_dir/kafka-run-class.sh $EXTRA_ARGS kafka.Kafka "$@"
很多脚本和工具类都依赖于kafka-run-class脚本,其中的主要功能是设置CLASSPATH,进行JMX的相关配置,配置Log4j,指定存放日志文件和索引文件位置,检测JAVA HOME环境变量,进行JVM的相关配置,决定是否后台启动。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。