如何查找运行中Kafka Broker所使用的server.properties文件路径
定位Kafka Broker使用的server.properties路径
从你提供的ps -ef输出中,确实没有看到启动命令里显式指定server.properties的路径,以下是几种可行的定位方法:
方法1:检查Kafka默认配置路径
从进程信息可以看出Kafka安装在/opt/kafka_2.13-3.0.0,默认情况下配置文件会放在安装目录的config子目录下,直接检查这个路径:
ls /opt/kafka_2.13-3.0.0/config/server.properties
方法2:查看Kafka启动脚本
如果是通过官方脚本kafka-server-start.sh启动的Broker,脚本里定义了默认配置文件路径,查看脚本内容:
cat /opt/kafka_2.13-3.0.0/bin/kafka-server-start.sh
通常脚本里会有类似这样的行,直接给出默认配置文件位置:
DEFAULT_CONFIG=${DEFAULT_CONFIG:-$base_dir/../config/server.properties}
方法3:通过JMX查询配置文件路径
你的Broker进程已经开启了JMX(启动参数包含-Dcom.sun.management.jmxremote相关配置),可以用JMX工具连接查询:
- 使用
jconsole可视化工具:连接到目标进程后,找到kafka:type=kafka.server.KafkaConfig,name=*的MBean,查看configFile属性值。 - 使用命令行工具
jmxterm:执行以下命令(替换为你的Broker IP和端口,默认JMX端口是9999):
echo "get kafka:type=kafka.server.KafkaConfig,name=* configFile" | jmxterm -n -l localhost:9999
方法4:检查进程打开的文件
用lsof命令列出Broker进程打开的所有.properties文件,进程PID从ps -ef输出中可知是403:
lsof -p 403 | grep .properties
输出结果里的.properties文件大概率包含你要找的server.properties。
附你提供的进程信息:
403 root 0:32 java -Xmx1G -Xms1G -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 -Djava.awt.headless=true -Xlog:gc*:file=/opt/kafka_2.13-3.0.0/bin/../logs/kafkaServer-gc.log:time,tags:filecount=10,filesize=100M -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dkafka.logs.dir=/opt/kafka_2.13-3.0.0/bin/../logs -Dlog4j.configuration=file:/opt/kafka_2.13-3.0.0/bin/../config/log4j.properties -cp /opt/kafka_2.13-3.0.0/bin/../libs/activation-1.1.1.jar:/opt/kafka_2.13-3.0.0/bin/../libs/aopalliance-repackaged-2.6.1.jar:/opt/kafka_2.13-3.0.0/bin/../libs/argparse4j-0.7.0.jar:/opt/kafka_2.13-3.0.0/bin/../libs/audience-annotations-0.5.0.jar:/opt/kafka_2.13-3.0.0/bin/../libs/commons-cli-1.4.jar:/opt/kafka_2.13-3.0.0/bin/../libs/commons-lang3-3.8.1.jar:/opt/kafka_2.13-3.0.0/bin/../libs/connect-api-3.0.0.jar:/opt/kafka_2.13-3.0.0/bin/../libs/connect-basic-auth-extension-3.0.0.jar:/opt/kafka_2.13-3.0.0/bin/../libs/connect-file-3.0.0.jar:/opt/kafka_2.13-3.0.0/bin/../libs/connect-json-3.0.0.jar:/opt/kafka_2.13-3.0.0/bin/../libs/connect-mirror-3.0.0.jar:/opt/kafka_2.13-3.0.0/bin/../libs/connect-mirror-client-3.0.0.jar:/opt/kafka_2.13-3.0.0/bin/../libs/connect-runtime-3.0.0.jar:/opt/kafka_2.13-3.0.0/bin/../libs/connect-transforms-3.0.0.jar:/opt/kafka_2.13-3.0.0/bin/../libs/hk2-api-2.6.1.jar:/opt/kafka_2.13-3.0.0/bin/../libs/hk2-locator-2.6.1.jar:/opt/kafka_2.13-3.0.0/bin/../libs/hk2-utils-2.6.1.jar:/opt/kafka_2.13-3.0.0/bin/../libs/jackson-annotations-2.12.3.jar:/opt/kafka_2.13-3.0.0/bin/../libs/jackson-core-2.12.3.jar:/opt/kafka_2.13-3.0.0/bin/../libs/jackson-databind-2.12.3.jar:/opt/kafka_2.13-3.0.0/bin/../libs/jackson-dataformat-csv-2.12.3.jar:/opt/kafka_2.13-3.0.0/bin/../libs/jackson-datatype-jdk8-2.12.3.jar:/opt/kafka_2.13-3.0.0/bin/../libs/jackson-jaxrs-base-2.12.3.jar:/opt/kafka_2.13-3.0.0/bin/../libs/jackson-jaxrs-json-provider-2.12.3.jar:/opt/kafka_2.13-3.0
内容的提问来源于stack exchange,提问作者veeRN
相关产品推荐
相关产品推荐

