2017-05-08 10 views
2

私は数日前にドッカーなしでカフカを走ろうとしましたが、もう一度失敗しました。セットアップが非常に難しいです。だから、私はDockerを使うことにしました。そして私はもう一度失敗しました。何が問題なの?OS X上のDockerでKafkaを実行するには?


私は、これらのコマンドを実行しました:

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

はところで、これは私です:

  • ドッカーバージョン:17.03.1-CE
  • ドッカーバージョンを構成します: 1.11.2、構築dfed245

新しいDocker for OS X hereをダウンロードしました。

SIDE注:OS X用新ドッカーは、以前のものとは異なるアーキテクチャを使用していますので、ドッカーとOS Xの多くの前の問題を解決します。だから、Confluent 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) 

答えて

4

ドッカーは最近、モービーに社名を変更し、それは私の問題を引き起こしました。私は私のドッカーの構成設定でローカルホストとしてmobyを追加する必要がありました。ローカルホストは、この問題を解決するようにモービーを解決extra_hostsパラメータ加えることにより

:このエラー約

extra_hosts: 
    - "moby:127.0.0.1" 

定着プル要求がhereあります。

この修正プログラムを入手するには、git pull origin pull/258/headと入力します。

この根本的な原因についてもお読みになりたい場合は、click hereです。

+0

しかし、まだ問題があります。ホストシステムからKafka公開ポートにアクセスできません。ああ私のMac上のドッカー。 –

+0

localhostの行の/ etc/hostsファイルに、mobyおよびその他のコンテナ/サービスホスト名のエイリアスを追加します。 –

+0

クラスタ化されたkafka(examples/kafka-cluster)では動作しません。例がありますか? –

関連する問題