当前位置: 首页 > 知识库问答 >
问题:

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

曹嘉许
2023-03-14

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

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

  • 这里

另一组人说要设置一个系统var,让kafka启动程序来选择它

  • 这里

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

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

关于在哪里设置这些的官方融合党路线是什么?(我假设默认值不使用这些来容纳较小的测试机器)

共有1个答案

凌联
2023-03-14

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

看起来这就是您在< code > 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

或者,如果您首先编辑启动脚本,则不需要导出,因为该变量是在本地使用的。

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

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

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

 类似资料:
  • 我正在尝试使用改型2创建天气应用程序,现在我很难正确设置通话。 以下是有效的URL: 所以,我有我的API密钥和BASE URL是:http://api.openweathermap.org...这是我的Retrofit服务中的方法: 我得到的错误是: Java语言lang.IllegalArgumentException:URL查询字符串“q={city}/ 所以我试着这样做: 我得到了同样的错

  • 我正试图在我的Fedora 22上安装MATLAB。最后,我得到一个错误 应用程序遇到意外错误,需要关闭。您可能需要尝试重新安装产品。更多信息可以在 /tmp/mathworks_root.log找到 当我查看mathworks_root.log文件时,我发现在安装步骤中未正确设置Java Home Java Home /tmp/mathworks_32206/sys/java/jre/glnxa

  • 所以我很精通java,但我刚刚开始学习groovy,并使用SOAPUI和groovy测试SOAP请求。我尝试使用groovy脚本测试一个SOAP请求,并设置请求随后用作参数来测试xml的属性值。现在,我在SOAP XML中不断得到这个错误: 但是我可以看到属性值何时被更新!我在我的测试用例的自定义属性下看到了它。传递的值应该是整数,但设置属性值只能是字符串。这可能是问题所在吗?这一切令人讨厌的部分

  • 问题内容: 这些方法之间在功能上有区别吗? 编辑(从其他贡献者添加了此语法): 问题答案: 不,但第一个是首选样式。 编辑: 另一个选项是 此外,它还允许调用者使用varargs语法。

  • 我有一个应用程序,它发送序列化的Twitter数据到一个Kafka主题。到目前为止一切都很好。 使用者应用程序应该读取数据并对其进行反序列化。现在,当我调用时,我认为我放入了正确的参数(正如您在抛出的错误中看到的那样),所以我不明白为什么它不能工作。 KafkaUtils类型中的方法createDirectStream(JavaStreamingContext,class-k-,class-v-,

  • 我正在处理一个需要LWJGL的项目,我正试图启动并运行该项目,但在设置JVM启动参数方面遇到了一个障碍。 LWJGL的文档如下: 将-djava.library.path系统属性(作为JVM启动参数)设置为包含本机文件的文件夹 我得到的错误是: 此外,我的lwjgl jar位于我的项目文件夹中可能是重要的信息。