如何在OSX上用docker运行kafka?

rqqzpn5f  于 2021-06-08  发布在  Kafka
关注(0)|答案(1)|浏览(390)

几天前,我试图在没有docker的情况下经营Kafka,但还是失败了。很难设置。所以,我决定用docker,然后我又失败了。有什么问题吗?
我运行了以下命令:

git clone https://github.com/confluentinc/cp-docker-images
cd cp-docker-images/examples/kafka-single-node
docker-compose up

顺便说一句,这是我的:
docker版本:17.03.1-ce
docker compose版本:1.11.2,内部版本dfed245
我在这里下载了新的docker for os x。
侧面note:new docker for os x使用了与以前不同的体系结构,因此,使用docker解决了os x中以前的许多问题。因此,我相信在汇合docker文档中讨论的大多数问题将更容易解决。
错误日志:

kafka_1      | [2017-05-08 21:00:37,382] WARN [Controller-1-to-broker-1-send-thread], Controller 1 epoch 1 fails to send request (type: UpdateMetadataRequest=, controllerId=1, controllerEpoch=1, partitionStates={}, liveBrokers=(id=1, endPoints=(host=localhost, port=29092, listenerName=ListenerName(PLAINTEXT), securityProtocol=PLAINTEXT), rack=null)) to broker localhost:29092 (id: 1 rack: null). Reconnecting to broker. (kafka.controller.RequestSendThread)
kafka_1      | java.io.IOException: Connection to 1 was disconnected before the response was read
kafka_1      | at kafka.utils.NetworkClientBlockingOps$$anonfun$blockingSendAndReceive$extension$1$$anonfun$apply$1.apply(NetworkClientBlockingOps.scala:114)
kafka_1      | at kafka.utils.NetworkClientBlockingOps$$anonfun$blockingSendAndReceive$extension$1$$anonfun$apply$1.apply(NetworkClientBlockingOps.scala:112)
kafka_1      | at scala.Option.foreach(Option.scala:257)
kafka_1      | at kafka.utils.NetworkClientBlockingOps$$anonfun$blockingSendAndReceive$extension$1.apply(NetworkClientBlockingOps.scala:112)
kafka_1      | at kafka.utils.NetworkClientBlockingOps$$anonfun$blockingSendAndReceive$extension$1.apply(NetworkClientBlockingOps.scala:108)
kafka_1      | at kafka.utils.NetworkClientBlockingOps$.recursivePoll$1(NetworkClientBlockingOps.scala:136)
kafka_1      | at kafka.utils.NetworkClientBlockingOps$.kafka$utils$NetworkClientBlockingOps$$pollContinuously$extension(NetworkClientBlockingOps.scala:142)
kafka_1      | at kafka.utils.NetworkClientBlockingOps$.blockingSendAndReceive$extension(NetworkClientBlockingOps.scala:108)
kafka_1      | at kafka.controller.RequestSendThread.liftedTree1$1(ControllerChannelManager.scala:196)
kafka_1      | at kafka.controller.RequestSendThread.doWork(ControllerChannelManager.scala:188)
kafka_1      | at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:63)
kafka_1      | [2017-05-08 21:00:37,484] INFO [Controller-1-to-broker-1-send-thread], Controller 1 connected to localhost:29092 (id: 1 rack: null) for sending state change requests (kafka.controller.RequestSendThread)
kafka_1      | [2017-05-08 21:00:37,486] ERROR Processor got uncaught exception. (kafka.network.Processor)
kafka_1      | java.lang.NoClassDefFoundError: Could not initialize class kafka.network.RequestChannel$
kafka_1      | at kafka.network.RequestChannel$Request.<init>(RequestChannel.scala:111)
kafka_1      | at kafka.network.Processor$$anonfun$processCompletedReceives$1.apply(SocketServer.scala:513)
kafka_1      | at kafka.network.Processor$$anonfun$processCompletedReceives$1.apply(SocketServer.scala:505)
kafka_1      | at scala.collection.Iterator$class.foreach(Iterator.scala:893)
kafka_1      | at scala.collection.AbstractIterator.foreach(Iterator.scala:1336)
kafka_1      | at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
kafka_1      | at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
kafka_1      | at kafka.network.Processor.processCompletedReceives(SocketServer.scala:505)
kafka_1      | at kafka.network.Processor.run(SocketServer.scala:433)
kafka_1      | at java.lang.Thread.run(Thread.java:745)
kafka_1      | [2017-05-08 21:01:07,516] WARN [Controller-1-to-broker-1-send-thread], Controller 1 epoch 1 fails to send request (type: UpdateMetadataRequest=, controllerId=1, controllerEpoch=1, partitionStates={}, liveBrokers=(id=1, endPoints=(host=localhost, port=29092, listenerName=ListenerName(PLAINTEXT), securityProtocol=PLAINTEXT), rack=null)) to broker localhost:29092 (id: 1 rack: null). Reconnecting to broker. (kafka.controller.RequestSendThread)
kafka_1      | java.io.IOException: Connection to 1 was disconnected before the response was read
kafka_1      | at kafka.utils.NetworkClientBlockingOps$$anonfun$blockingSendAndReceive$extension$1$$anonfun$apply$1.apply(NetworkClientBlockingOps.scala:114)
kafka_1      | at kafka.utils.NetworkClientBlockingOps$$anonfun$blockingSendAndReceive$extension$1$$anonfun$apply$1.apply(NetworkClientBlockingOps.scala:112)
kafka_1      | at scala.Option.foreach(Option.scala:257)
kafka_1      | at kafka.utils.NetworkClientBlockingOps$$anonfun$blockingSendAndReceive$extension$1.apply(NetworkClientBlockingOps.scala:112)
kafka_1      | at kafka.utils.NetworkClientBlockingOps$$anonfun$blockingSendAndReceive$extension$1.apply(NetworkClientBlockingOps.scala:108)
kafka_1      | at kafka.utils.NetworkClientBlockingOps$.recursivePoll$1(NetworkClientBlockingOps.scala:136)
kafka_1      | at kafka.utils.NetworkClientBlockingOps$.kafka$utils$NetworkClientBlockingOps$$pollContinuously$extension(NetworkClientBlockingOps.scala:142)
kafka_1      | at kafka.utils.NetworkClientBlockingOps$.blockingSendAndReceive$extension(NetworkClientBlockingOps.scala:108)
kafka_1      | at kafka.controller.RequestSendThread.liftedTree1$1(ControllerChannelManager.scala:196)
kafka_1      | at kafka.controller.RequestSendThread.doWork(ControllerChannelManager.scala:188)
kafka_1      | at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:63)
kafka_1      | [2017-05-08 21:01:07,618] INFO [Controller-1-to-broker-1-send-thread], Controller 1 connected to localhost:29092 (id: 1 rack: null) for sending state change requests (kafka.controller.RequestSendThread)
kafka_1      | [2017-05-08 21:01:07,619] ERROR Processor got uncaught exception. (kafka.network.Processor)
kafka_1      | java.lang.NoClassDefFoundError: Could not initialize class kafka.network.RequestChannel$
kafka_1      | at kafka.network.RequestChannel$Request.<init>(RequestChannel.scala:111)
kafka_1      | at kafka.network.Processor$$anonfun$processCompletedReceives$1.apply(SocketServer.scala:513)
kafka_1      | at kafka.network.Processor$$anonfun$processCompletedReceives$1.apply(SocketServer.scala:505)
kafka_1      | at scala.collection.Iterator$class.foreach(Iterator.scala:893)
kafka_1      | at scala.collection.AbstractIterator.foreach(Iterator.scala:1336)
kafka_1      | at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
kafka_1      | at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
kafka_1      | at kafka.network.Processor.processCompletedReceives(SocketServer.scala:505)
kafka_1      | at kafka.network.Processor.run(SocketServer.scala:433)
kafka_1      | at java.lang.Thread.run(Thread.java:745)
nkoocmlb

nkoocmlb1#

docker最近改名为moby,这引起了我的问题。我需要在docker compose配置中添加moby作为本地主机。
通过添加 extra_hosts 将moby解析为localhost的参数将解决此问题:

extra_hosts:
  - "moby:127.0.0.1"

关于这个错误的修复请求在这里。
要获取此修复,请键入: git pull origin pull/258/head .
如果您还想了解这一问题的根本原因,请单击此处。

相关问题