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

如何为Kafka设置Java选项?

郎泰平
2023-03-14

我一直在试验与Kafka和看到从主网站上的留档,你可以设置不同的选项为jvm像堆大小和垃圾收集器,它使用:

http://kafka.apache.org/documentation.html#java

然而,它没有说明如何/在哪里设置这些选项。该应用程序附带了一个/config目录,其中包含许多用于配置的文件,但没有一个是用于Java的。它还附带了一个/bin目录,其中包含了一堆Kafka的脚本,但是同样,没有真正说明如何配置Java。

所以我的问题是,如何配置Kafka使用的Java选项?它是通过文件完成的还是有不同的方法?

共有3个答案

阚小云
2023-03-14

查看kafka-run-classh.sh-kafka使用以下变量:

  • $KAFKA_堆_OPTS
  • $KAFKA_JVM_PERFORMANCE_OPTS
  • $KAFKA_GC_LOG_OPTS
  • $KAFKA_JMX_OPTS
  • $KAFKA_LOG4J_OPTS

您可以通过以下方式运行它:

export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G" 
export KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12346 -Dcom.sun.management.jmxremote.rmi.port=12346 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false" 
bin/kafka-server-start.sh -daemon config/server.properties
金旺
2023-03-14

另一种方法是修改/bin/kafka-server-start.sh中写入的信息:

export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"

或者在/bin/kafka-run-class.sh中:

KAFKA_JVM_PERFORMANCE_OPTS="-server -XX:+UseCompressedOops -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+CMSScavengeBeforeRemark -XX:+DisableExplicitGC -Djava.awt.headless=true"
步骏
2023-03-14

强烈建议不要修改 bin 目录中的脚本。将 Kafka 升级到下一个版本时,提取新的二进制文件将覆盖脚本中所做的更改。

首选的方法应该是在脚本外部设置环境变量KAFKA_HEAP_OPTS

导出KAFKA_HEAP_OPTS="-Xmx1G-Xms1G"

如果在通过脚本启动Kafka之前设置了var,它将使用var而不是< code >/bin/Kafka-server-start . sh 中定义的默认值

 类似资料:
  • 问题内容: 我一直在试验Kafka,并从主站点的文档中看到,您可以为jvm设置不同的选项,例如堆大小和它使用的垃圾收集器: http://kafka.apache.org/documentation.html#java 但是,没有说的是如何/在何处设置这些选项。该应用程序带有一个/ config目录,其中包含许多用于配置目的的文件,但没有用于Java的文件。它还带有一个/ bin目录,其中包含一堆

  • 我有两个关于Intellij IDEA中Gradle的问题 我知道退出按钮将优雅地关闭java应用程序 (文件)- 但我想知道如何通过gradle run优雅地关闭我的java应用程序? 因为gradle运行时没有退出按钮 (文件)- 另一个问题是如何通过编辑配置将java选项(如-Xmx选项)设置为java应用程序 虚拟机选项似乎设置了gradle虚拟机选项,而不是我的java应用程序选项。 非

  • 我是Kafka Streams的新手,我正在使用1.0.0版。我想从其中一个值为KTable设置一个新密钥。 在使用KStream时,可以使用如下方法selectKey()完成。 然而,KTable中缺少这种方法。唯一的方法是将给定的KTable转换为KStream。对这个问题有什么想法吗?它改变了KTable设计的关键?

  • Highcharts 是通过 JavaScript 对象的形式(JSON)来定义图表的配置参数。 一、图表配置对象 当使用图表构造函数 Highcharts.Chart 来初始化图表时,图表的配置对象是以第二个参数传递给该构造函数的。 下面是示例代码(其中红色部分是配置对象): var options = { chart: { type: 'bar' },

  • 问题内容: 我可以如下设置Firefox的代理设置。 但是我也需要设置Chrome。.有人可以帮助我怎么做吗? 谢谢拉吉 问题答案: 您可以尝试使用该类,如下所示:

  • 我是Android编程的新手,首先我想用SharedPreays做一个简单的选项菜单演示。我已经创建了基本的结构,但是我不知道如何将OnPreancceClickListener附加到Preation。尽管如此,我可以使用onSharedPreancceChanged方法,但是没有其他事件侦听器。(再次,我是初学者,所以我不知道为什么会这样。) 我已经阅读了有关创建菜单步骤的文档:https://