kafka - 设置java启动参数的正确方法

问题描述:

当涉及到设置各种堆,GC等java参数为Kafka进程似乎有冲突的思想流派。kafka - 设置java启动参数的正确方法

一组说编辑kafka-server-start bash的文件

另一组说要设置系统无功,让卡夫卡启动它捡起来

在从合流的最新指示后续的“建议”显示:

-Xms6g -Xmx6g -XX:MetaspaceSize=96m -XX:+UseG1GC -XX:MaxGCPauseMillis=20 
    -XX:InitiatingHeapOccupancyPercent=35 -XX:G1HeapRegionSize=16M 
    -XX:MinMetaspaceFreeRatio=50 -XX:MaxMetaspaceFreeRatio=80 

什么在哪里设置这些的正式汇合党的路线? (我假设默认设置不使用这些来容纳更小的测试机)

这两件事本质上都是告诉你做同样的事情,这是手动覆盖KAFKA_HEAP_OPTS的值。

它看起来像this is what you are looking forkafka-server-start.sh

if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then 
    export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G" 
fi 

EXTRA_ARGS=${EXTRA_ARGS-'-name kafkaServer -loggc'} 

如果从从命令行启动此,你可以调用

export KAFKA_HEAP_OPTS="-Xmx2g -Xms2g" 
./kafka-server-start.sh 

或者,如果你第一次编辑的启动脚本,你做不需要export,因为变量在本地使用。

KAFKA_HEAP_OPTS="-Xmx2g -Xms2g" 
if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then 
    export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G" 
fi 

第一的好处是,它不要求改变卡夫卡源,并且允许经由环境只是shell变量进行配置;

第二个方法是在启动服务器之前不需要记住设置环境变量。