在vmware中从我的ubuntu运行kafka时无法识别的VM选项'+ UseCompressedOops'

时间:2014-03-11 12:11:17

标签: ubuntu hadoop apache-zookeeper apache-kafka

我正在使用VMware与ubuntu合作 我已经安装了hadoop单节点集群。 然后我安装了zookeeper并运行了zookeeper。 然后当我运行我的" Apache kafka"它会引发错误。

无法识别的VM选项' + UseCompressedOops'

无法创建Java虚拟机

单曲@ ubuntu:〜/ yoga / zookeeper-3.4.5 / bin $ ./ zkServer.sh start

默认情况下启用JMX

使用config:/home/single/yoga/zookeeper-3.4.5/bin /../ conf / zoo.cfg

开始 zookeeper ...已启动

单曲@ ubuntu:〜/ yoga / kafka_2.8.0-0.8.0 $ bin / kafka-server-start.sh config / server.properties

无法识别的VM选项' + UseCompressedOops'

无法创建Java虚拟机。

3 个答案:

答案 0 :(得分:13)

由于您的VM不支持“+ UseCompressedOops”选项。要修复它,请从kafka的配置中删除该选项,这将帮助您启动两个(zookeeper& kafka)服务器。

1)转到Kafka安装目录:

cd kafka_2.8.0-0.8

2)编辑Kafka的类路径设置器脚本:

vi bin/kafka-run-class.sh

3)搜索“KAFKA_JVM_PERFORMANCE_OPTS”令牌&从该行中删除'-XX:+ UseCompressedOops'。

即,在删除之前:

KAFKA_JVM_PERFORMANCE_OPTS="-server -XX:+UseCompressedOops -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+CMSScavengeBeforeRemark -XX:+DisableExplicitGC -Djava.awt.headless=true"
删除后

KAFKA_JVM_PERFORMANCE_OPTS="-server -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+CMSScavengeBeforeRemark -XX:+DisableExplicitGC -Djava.awt.headless=true"

4)启动你的动物园管理员和kafka服务器实例

./bin/zookeeper-server-start.sh config/zookeeper.properties
./bin/kafka-server-start.sh config/server.properties

答案 1 :(得分:3)

这实际上取决于您运行的VM模式..有两种类型
1)服务器端
2)客户端

+UseCompressedOops被服务器VM识别,这可能是您收到此错误的原因..可能有多种方法可以检查VM当前运行的模式,但最简单我能找到的就是简单地运行java -version,它应该打印出像这样的东西

    Java HotSpot(TM) Client VM (build 24.51-b03, mixed mode, sharing)

关于这两种VM的讨论很少。你可以看一下@VonC关于这两者之间基本差异的答案here

这里有更多讨论 What does the UseCompressedOops JVM flag do and when should I use it?
http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136373.html http://www.oracle.com/technetwork/java/whitepaper-135217.html

答案 2 :(得分:0)

您使用的是32位还是64位机器? 我遇到了类似的错误,我通过以下步骤解决了这个问题:

1)下载kafka(在我看来是kafka-0.7.2-incubating-src)

2)提取它

3)cd到kafka home(你提取tgz的地方)

/home/kuntal/Kuntal/BIG_DATA/kafka-0.7.2-incubating-src

4)运行

./ sbt update ./sbt包

5)现在cd到kafaka home bin

/home/kuntal/Kuntal/BIG_DATA/kafka-0.7.2-incubating-src/bin

6)输入

kafka-server-start.sh /home/kuntal/Kuntal/BIG_DATA/kafka-0.7.2-incubating-src/config/server.properties

你会看到Kafka服务器在终端启动。希望这能帮助别人! :)