如何为 Kafka 设置 Java 选项?

2022-08-31 20:50:39

我一直在尝试Kafka,并从主站点的文档中看到,您可以为jvm设置不同的选项,例如堆大小和它使用的垃圾回收器:

http://kafka.apache.org/documentation.html#java

但是,它没有说的是如何/在哪里设置这些选项。该应用程序带有一个 /config 目录,其中包含许多用于配置目的的文件,但没有一个用于 Java 的文件。它还附带了一个/bin目录,其中包含一堆Kafka脚本,但同样,没有什么真正表明如何配置Java。

所以我的问题是,如何配置Kafka使用的Java选项?它是通过文件完成的还是有不同的方法?


答案 1

修改目录中的脚本是非常不推荐的。将 Kafka 升级到下一个版本时,提取新的二进制文件将覆盖脚本中所做的更改。bin

首选方法应该是在脚本外部设置环境变量。KAFKA_HEAP_OPTS

export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"

如果在通过脚本启动 Kafka 之前设置了 var,它将使用 var 而不是 在/bin/kafka-server-start.sh


答案 2

另一种方法是修改写在 中的信息:/bin/kafka-server-start.sh

export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"

或 :/bin/kafka-run-class.sh

KAFKA_JVM_PERFORMANCE_OPTS="-server -XX:+UseCompressedOops -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+CMSScavengeBeforeRemark -XX:+DisableExplicitGC -Djava.awt.headless=true"

推荐