【问题标题】:How can i force Kafka to run on 64 bit JVM?如何强制 Kafka 在 64 位 JVM 上运行?
【发布时间】:2019-04-23 09:43:09
【问题描述】:

我正在使用具有 2 个 32 位和 64 位 java 版本的计算机。 我想运行 kafka 并且它不断启动 outOfMemory 异常,我在一些研究后发现这是由于 java32bits 版本。每个人都说切换到 64 位版本的 java 解决了这个问题。 运行 java - version 给我以下输出

java版本“1.8.0_91” Java(TM) SE 运行时环境 (build 1.8.0_91-b15) Java HotSpot(TM) 64 位服务器 VM(内部版本 25.91-b15,混合模式)

但我认为 kafka 正在使用也安装在计算机上的 32 位版本(我无法删除) kafka 版本是 2.12-2.2.0,我在 windows 上运行 kafka

【问题讨论】:

  • 默认情况下,Kafka 启动时没有那么多内存......你的机器实际有多少内存?另外:Kafka 并没有在 Windows 上进行广泛的测试

标签: windows apache-kafka


【解决方案1】:

/bin下的脚本默认使用JAVA_HOME环境变量选择java运行时。

https://github.com/apache/kafka/blob/trunk/bin/windows/kafka-run-class.bat#L158

如果您安装了多个 JVM,请务必相应地设置此变量,以便 Kafka 选择您想要的版本。

【讨论】:

  • 我更改了 JAVA_HOME 并使其指向 java64 位,现在我尝试运行 zookeeper 时找不到指定的路径:/
  • @kmarakrout,运行“ps -ef”并检查您的代理进程。此过程将为您提供完整的 java 路径,您可以从中确定 Kafka 使用的是哪个版本的 java。
  • 还有为您的代理设置的 XMS 和 XMX 值是多少,以及您的代理运行的机器上的可用内存是多少。
  • 现在我更改了 javaHome 变量的 java 版本,我的代理没有运行它只是说当我编写启动 zookeeper 的命令时找不到路径至于 XMS 和 XMX 我没有改变任何东西!我从官方网站得到了卡夫卡
【解决方案2】:

除了更改 JAVA_HOME 环境变量中的 java 版本之外,我还必须使其不包含空格。这就是导致找不到指定路径的第二个问题的原因。 这个问题帮助了我:

Running Kafka on Windows 10 fails: The system cannot find the path specified

【讨论】:

    猜你喜欢
    • 2011-06-26
    • 2013-11-20
    • 2012-11-03
    • 2012-03-12
    • 1970-01-01
    • 2016-03-07
    • 2013-09-16
    • 2012-07-26
    • 2011-05-13
    相关资源
    最近更新 更多