美文网首页
docker-comopose kafka 一键搭建

docker-comopose kafka 一键搭建

作者: 不存在的里皮 | 来源:发表于2020-04-25 19:24 被阅读0次

    本文是对使用Docker快速搭建Kafka开发环境的补充,跟随教程即可完成搭建,但还有些地方需要注意。

    完整的搭建方案如下:

    version: '2.1'
    services:
      zookeeper:
        image: wurstmeister/zookeeper
        ports:
          - "2181:2181"
      kafka:
        image: wurstmeister/kafka
        ports:
          - "9092:9092"
        environment:
          KAFKA_ADVERTISED_HOST_NAME: 192.168.101.24   # 用ifconfig查询,或直接填写kafka
          KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
          KAFKA_CREATE_TOPICS: "test:1:1"
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock
    

    KAFKA_ADVERTISED_HOST_NAME

    其中KAFKA_ADVERTISED_HOST_NAME要填宿主机的ip,可用ifconfig查询。
    比如此处我们查到是192.168.101.24,就填这个。


    当然直接写成KAFKA_ADVERTISED_HOST_NAME: kafka也可。

    自动创建topic

    根据github kafka-docker,可以自动创建topic。

    Here is an example snippet from docker-compose.yml:

        environment:
          KAFKA_CREATE_TOPICS: "Topic1:1:3,Topic2:1:1:compact"
    

    Topic 1 will have 1 partition and 3 replicas, Topic 2 will have 1 partition, 1 replica and a cleanup.policy set to compact.

    以下代码创建了test话题

        environment:
          KAFKA_CREATE_TOPICS: "test:1:1"
    

    命令名称自适应

    进入容器时的命令,其容器名要记得改成适应自己机器的,比如我在kafka-demo文件夹下,运行的容器名字就是kafka-demo_kafka_1。你也可以自己docker ps查容器名字。

    rasak@rasak-lee:~/codes/kafka-demo$ docker exec -it kafka-demo_kafka_1 /bin/bash
    

    重启动

    在更新了docker-compose.yml后,docker-compose stopdocker-compose rm后,docker-compose up -d才能生效。直接docker-compose restart不能更新配置。

    其他

    解决问题时参考了:
    kafka-docker搭建问题解决

    次要参考:

    相关文章

      网友评论

          本文标题:docker-comopose kafka 一键搭建

          本文链接:https://www.haomeiwen.com/subject/iwwcwhtx.html