scala - Apache Kafka - 向后分支 162 上存在未初始化的对象

标签 scala apache-kafka apache-zookeeper

我正在尝试根据此处的教程在本地计算机上安装 Apache Kafka 版本 https://dzone.com/articles/running-apache-kafka-on-windows-os

Zookeeper 启动时没有任何问题 - 并且我的 Java 环境变量指向 1.9

> C:\kafka\kafka_2.12-1.0.0>java -version java version "9.0.1" Java(TM)
> SE Runtime Environment (build 9.0.1+11) Java HotSpot(TM) 64-Bit Server
> VM (build 9.0.1+11, mixed mode)

但是 - 当我尝试使用以下命令启动 kafka 服务器时

.\bin\windows\kafka-server-start.bat .\config\server.properties

我收到以下错误

[2017-12-18 13:49:15,078] FATAL  (kafka.Kafka$)
java.lang.VerifyError: Uninitialized object exists on backward branch 162
Exception Details:
  Location:
    scala/util/matching/Regex.unapplySeq(Lscala/util/matching/Regex$Match;)Lscala/Option; @216: goto
  Reason:
    Error exists in the bytecode
  Bytecode:
    0000000: 2bc6 000a 2bb6 00ef c700 07b2 0052 b02b
    0000010: b600 f2b6 00f3 2ab6 0054 4d59 c700 0b57
    0000020: 2cc6 000d a700 c92c b600 f799 00c2 bb00
    0000030: 6059 b200 65b2 006a 043e c700 0501 bf1d
    0000040: 2bb6 00f8 b600 74b6 0078 2bba 0100 0000
    0000050: b200 93b6 0097 3a06 3a05 59c7 0005 01bf
    0000060: 3a04 1906 b200 93b6 009b a600 7619 04b2
    0000070: 00a0 a600 09b2 00a0 a700 71bb 00a2 5919
    0000080: 04b6 00a8 3a0b 2b19 0bb8 00fc b200 a0b7
    0000090: 00ac 3a07 1907 3a08 1904 b600 afc0 00a4
    00000a0: 3a09 1909 b200 a0a5 0034 bb00 a259 1909
    00000b0: b600 a83a 0b2b 190b b800 fcb2 00a0 b700
    00000c0: ac3a 0a19 0819 0ab6 00b3 190a 3a08 1909
    00000d0: b600 afc0 00a4 3a09 a7ff ca19 07a7 000c
    00000e0: 1904 1905 1906 b800 b9b7 00bc b02a 2bb6
    00000f0: 00ef b601 02b0                         
  Stackmap Table:
    same_frame(@11)
    same_frame(@15)
    full_frame(@39,{Object[#2],Object[#34],Object[#86]},{Object[#86]})
    same_frame(@46)
    full_frame(@63,{Object[#2],Object[#34],Object[#86],Integer},{Uninitialized[#46],Uninitialized[#46],Object[#98]})
    full_frame(@96,{Object[#2],Object[#34],Object[#86],Integer,Top,Object[#206],Object[#208]},{Uninitialized[#46],Uninitialized[#46],Object[#164]})
    full_frame(@123,{Object[#2],Object[#34],Object[#86],Integer,Object[#164],Object[#206],Object[#208]},{Uninitialized[#46],Uninitialized[#46]})
    full_frame(@162,{Object[#2],Object[#34],Object[#86],Integer,Object[#164],Object[#206],Object[#208],Object[#162],Object[#162],Object[#164],Top,Object[#4]},{Uninitialized[#46],Uninitialized[#46]})
    full_frame(@219,{Object[#2],Object[#34],Object[#86],Integer,Object[#164],Object[#206],Object[#208],Object[#162],Object[#162],Object[#164],Top,Object[#4]},{Uninitialized[#46],Uninitialized[#46]})
    full_frame(@224,{Object[#2],Object[#34],Object[#86],Integer,Object[#164],Object[#206],Object[#208]},{Uninitialized[#46],Uninitialized[#46]})
    full_frame(@233,{Object[#2],Object[#34],Object[#86],Integer,Object[#164],Object[#206],Object[#208]},{Uninitialized[#46],Uninitialized[#46],Object[#4]})
    full_frame(@237,{Object[#2],Object[#34],Object[#86]},{})

    at scala.collection.immutable.StringLike.r(StringLike.scala:281)
    at scala.collection.immutable.StringLike.r$(StringLike.scala:281)
    at scala.collection.immutable.StringOps.r(StringOps.scala:29)
    at scala.collection.immutable.StringLike.r(StringLike.scala:270)
    at scala.collection.immutable.StringLike.r$(StringLike.scala:270)
    at scala.collection.immutable.StringOps.r(StringOps.scala:29)
    at kafka.cluster.EndPoint$.<init>(EndPoint.scala:29)
    at kafka.cluster.EndPoint$.<clinit>(EndPoint.scala)
    at kafka.server.Defaults$.<init>(KafkaConfig.scala:66)
    at kafka.server.Defaults$.<clinit>(KafkaConfig.scala)
    at kafka.server.KafkaConfig$.<init>(KafkaConfig.scala:686)
    at kafka.server.KafkaConfig$.<clinit>(KafkaConfig.scala)
    at kafka.server.KafkaServerStartable$.fromProps(KafkaServerStartable.scala:28)
    at kafka.Kafka$.main(Kafka.scala:82)
    at kafka.Kafka.main(Kafka.scala)

有人知道如何解决这个问题吗?谢谢

最佳答案

由于 JAVA_HOME 的值,您会收到该错误。无论您运行哪个版本的 JRE,您都需要 JAVA_HOME 指向正确的 JDK 版本。

如果您想尝试,您可以仅为 Kafka 的执行设置该变量:

$ JAVA_HOME=/usr/lib/jvm/java-11-oracle/ bin/kafka-server-start.sh config/server.properties

希望对你有帮助!

关于scala - Apache Kafka - 向后分支 162 上存在未初始化的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47869970/

相关文章:

java - Kafka Java 消费者仅适用于本地主机,无法用于远程服务器

scala - java.lang.AssertionError : assertion failed: No plan for HiveTableRelation

scala - 返回 Scala 中部分应用的函数

apache-kafka - 如何使用 Redpanda 进行流处理?

apache-kafka - Kafka 消费者因使用未知协议(protocol)反序列化 Avro 消息时出错而失败

hadoop - hBase - 服务器有太多连接

apache-zookeeper - 如何获取当前zookeeper集群的成员服务器列表

scala - 如何根据两列对 Spark RDD 进行排序

java - 使用 Scala 在 Neo4j 中建立索引关系

java - 根据配置向不同的Kafka主题发送消息