我目前正在学习kafka和new,我正在尝试启动kafka-server-start.sh config/server.properties
,但是收到以下错误消息,我搜索了stackoverflow,但无法获得解决方案。有人可以建议如何解决此问题。
错误消息:
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
ERROR StatusLogger No log4j2 configuration file found. Using default
configuration: logging only errors to the console.
21:48:52.090 [main] FATAL kafka.Kafka$ - null
java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps;
at kafka.utils.CoreUtils$.parseCsvList(CoreUtils.scala:213) ~[kafka_2.11-0.9.0.0.jar:?]
at kafka.server.KafkaConfig.<init>(KafkaConfig.scala:742) ~[kafka_2.11-0.9.0.0.jar:?]
at kafka.server.KafkaConfig$.fromProps(KafkaConfig.scala:691) ~[kafka_2.11-0.9.0.0.jar:?]
at kafka.server.KafkaServerStartable$.fromProps(KafkaServerStartable.scala:28) ~[kafka_2.11-0.9.0.0.jar:?]
at kafka.Kafka$.main(Kafka.scala:58) [kafka_2.11-0.9.0.0.jar:?]
at kafka.Kafka.main(Kafka.scala) [kafka_2.11-0.9.0.0.jar:?]
我正在使用Ubuntu 14.04,Java 1.8 build 101,zookeeper版本3.4和kafka版本2.11-0.9
Zookeeper属性(zoo.cfg):
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper-3.4.10/data
clientPort=2181
kafka属性(server.properties):
broker.id=0
listeners=PLAINTEXT://:9092
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/usr/local/kafka/kafka-log-1
num.partitions=2
num.recovery.threads.per.data.dir=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
log.cleaner.enable=false
zookeeper.connect=localhost:2181
zookeeper.connection.timeout.ms=6000
答案 0 :(得分:1)
这通常是Scala版本问题的征兆;所运行的软件正在尝试查找Scala内部方法,该方法在您已安装的版本中不可用
NoSuchMethodError: scala.Predef$
根据您的评论
scala我有2.12版本。
我不认为甚至在发布Kafka 0.9时也不存在Scala 2.12,但是如果您不打算降级Scala,则必须使用由2.12构建的Kafka版本。
在Apache Kafka网站上,您可以找到Scala 2.12 - kafka_2.12-2.0.0.tgz
链接。
或者您可以使用apt-get
通过Confluent Platform安装Kafka,然后可以使用类似sudo service start confluent-kafka