【问题标题】:kafka - proper way to set java startup paramskafka - 设置java启动参数的正确方法
【发布时间】:2017-01-28 18:23:19
【问题描述】:

在为 Kafka 进程设置各种堆、GC 等 java 参数时,似乎存在相互冲突的思想流派。

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

另一个小组说要设置一个系统变量,然后让 kafka 启动来接它

在 Confluent 的最新说明中,出现以下“建议”:

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

关于在哪里设置这些的官方 Confluent 派对路线是什么? (我假设默认值不使用这些来适应较小的测试机器)

【问题讨论】:

    标签: java apache-kafka confluent-platform


    【解决方案1】:

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

    看起来像 this is what you are looking for 来自 kafka-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
    

    第一个的好处是,它不需要更改 kafka-source,并且允许仅通过 shell 变量来配置环境;

    第二个很方便,因为您不需要记住在启动服务器之前设置环境变量。

    【讨论】:

      猜你喜欢
      • 2016-03-13
      • 1970-01-01
      • 2012-06-11
      • 2016-11-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-20
      • 2015-08-08
      • 2020-10-23
      相关资源
      最近更新 更多