2016-11-30 85 views
4

当配置kafka认证时,document提到在启动kafka服务器时需要添加JVM参数。像:如何将JVM参数添加到kafka?

-Djava.security.auth.login.config=/etc/kafka/kafka_server_jaas.conf

由于我们使用斌/ kafka-server-start.sh启动服务器,文件没有提及其中指定JVM参数。

修改kafka-server-start.sh或kafka-server-class.sh不是一个好主意,那么在开始时添加参数的正确方法是什么?

回答

7

我建议为此使用KAFKA_OPTS环境变量。

这个环境变量被Kafka识别,默认为空字符串(= no settings)。请参阅从bin/kafka-run-class.sh下面的代码片段在卡夫卡的源代码:

# Generic jvm settings you want to add 
if [ -z "$KAFKA_OPTS" ]; then 
    KAFKA_OPTS="" 
fi 

因此,举例来说,你可以这样做:

$ export KAFKA_OPTS="-Djava.security.auth.login.config=/etc/kafka/kafka_server_jaas.conf" 
$ bin/kafka-server-start.sh 

$ KAFKA_OPTS="-Djava.security.auth.login.config=/etc/kafka/kafka_server_jaas.conf" bin/kafka-server-start.sh