2017-12-26 11 views
0

で実行している私が広告を出してリスナーは、カフカがドッキングウィンドウ

マイドッキングウィンドウ-compose.yml

version: '2' 
    services: 
    zookeeper: 
    image: confluentinc/cp-zookeeper:latest 
    network_mode: host 
    environment: 
    ZOOKEEPER_CLIENT_PORT: 32181 
    ZOOKEEPER_TICK_TIME: 2000 
extra_hosts: 
    - "moby:127.0.0.1" 

kafka: 
image: confluentinc/cp-kafka:latest 
network_mode: host 
depends_on: 
    - zookeeper 
environment: 
    KAFKA_BROKER_ID: 1 
    KAFKA_ZOOKEEPER_CONNECT: localhost:32181 
    KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://lnc52c9:29092 
    KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 
extra_hosts: 
    - "moby:127.0.0.1" 

用ドッキングウィンドウコンYMLファイル内に以下の構成を有する接続できないと私は、プロパティの下に使用して、このカフカを接続

props.put("bootstrap.servers", "lnc52c9:29092"); 

そのサーバーでメッセージを生成しようとすると、以下のエラーが発生します。

o.apache.kafka.clients.NetworkClientに警告 - エラー相関IDが1のメタデータの取得中:{FOO = LEADER_NOT_AVAILABLE}

ホストは、その全てが同じネットワークに自分のマシンからできping-ありますファイアウォールの問題はありません。ドッカーコンテナにhostnameというコマンドを使用すると、同じホスト名が表示されます。何か不足していますか?

+0

完全な 'docker-compose.yml'を投稿できますか?また、どこからカフカに接続していますか? – Matt

+0

私は完全なdocker-compose.ymlを更新しました。このドッカーコンテナに仮想マシンを使用しています(https://github.com/confluentinc/cp-docker-images/blob/4.0.x/examples/kafka-single -node/docker-compose.yml)。私はドッカーコンテナのホストがpinggableである別のWindowsマシンからこのカフカを接続しようとしています、両方が同じネットワークにあります。 – adorearun

+0

あなたのVMのOSは? – Treziac

答えて

0

私はコンテナにカフカのexpose portが必要だと思います。あなたはの線に沿って何かを追加することで、ドッキングウィンドウ・コンファイルでこれを行うことができます。

ports: "29092:29092" 

これはカフカのサービス定義にする必要があります。

+0

いただきありがとうございますが、それでも私はそのリーダーを未取得しています利用可能なエラーメッセージ – adorearun

+0

@adorearunポートが開いていて、それに接続できるかどうか確認できますか?あなたはtelnetのようなシンプルなクライアントを使うことができます: 'telnet lnc52c9 29092'本当に接続したいドッカーのコンテナと他のウィンドウマシンからこれを行います。 – tayfun

+0

'network_mode:host'を使うときに' ports'は必要ありません - それを削除して 'port'で置き換えることはできますが、それほど変わってはいけません ファイアウォール/ネットワークの問題も疑います - VM。 VM上で動作し、他のマシンでは動作せず、マシンがping可能である場合は、ファイアウォールポリシーを確認してください – Treziac

関連する問題