[無計画]Docker+Kafka


0、環境と準備

  • windows 10
  • カフカバージョン2.6.0(現・最新)
  • zookeeperバージョン3.4.13(現時点)
  • dockerとdocker-composeの理解
  • 適当なssh(卵mobaxterm)
  • 本書を開く(必ずバージョンをご覧ください)
    https://kafka.apache.org/quickstart
  • 1.Kafkaは

  • Producer(Leader/Follower) -> Broker -> Consumer
  • 卓越した互換性
  • Zookeeperとの連携によるリーダーシップ管理
  • 2.構造


  • Kafkaは1ノードのみ動作する.
  • Topicが生成され、1つのマスター、1つのReflicaが生成されます.
  • GKはどうせ必要です.
  • 3. docker-compose.yml

  • 既成の親切なイメージを使う.
  • version: '2'
    services:
      zookeeper:
        image: wurstmeister/zookeeper
        ports:
          - "2181:2181"
      kafka:
        image: wurstmeister/kafka
        ports:
          - "9092:9092"
        environment:
          KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1
          KAFKA_CREATE_TOPICS: "Topic:1:1"
          KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
        volumes:
          - ./vol:/var/run/docker.sock
        depends_on:
          - zookeeper
    namemandatorydesc.KAFKA ADVERTSED HOST NAMEO-KAFKA CREATE TOPIcSXname:パーティションno:コピーnoKAFKA ZOKEEEPER CONNECTOマスターキー情報

    4.dockerとコンテナの実行

    // yaml 파일이 있는 디렉토리에서
    > docker-compose up -d
    
    // kafka 컨테이너 확인 
    > docker ps
    
    // 컨테이너 실행
    > docker exec -it [container Id] /bin/bash

    5.テーマのチェック

  • echo $PATHカフカのbinディレクトリがパスに追加されていることを確認できます.
  • フォロー.shはどこでも実行できます.
  • $ kafka-topics.sh --describe --topic Topic --bootstrap-server localhost:9092
    
    // Topic: Topic    PartitionCount: 1       ReplicationFactor: 1    Configs: segment.bytes=1073741824
    //        Topic: Topic    Partition: 0    Leader: 1001    Replicas: 1001  Isr: 1001
    

    6.コンソールの生産と消費を試みる

  • 画面を分割し、左が生産者窓口、右が消費者窓口であることを確認し、リアルタイムで処理可能
  • // produce (빠져나갈 땐 Ctrl+C)
    $ kafka-console-producer.sh --topic Topic --bootstrap-server localhost:9092
    
    // consume (빠져나갈 땐 Ctrl+C)
    $ kafka-console-consumer.sh --topic Topic --from-beginning --bootstrap-server localhost:9092