2016-11-30 131 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