美文网首页
在dokcer中运行kafka

在dokcer中运行kafka

作者: UUID | 来源:发表于2018-10-23 17:28 被阅读11次

    run kafka on docker

    最近想试试kafka,不过在docker hub 上的方法是使用docker-compose,我的本地环境中没有compose,所以我用docker最原始的方式启动了镜像,并记录了下来。

    kafka分布式实现是依靠zookeeper来实现的,所以在启动kafka之前,确保你已经启动了zookeeper。

    执行sudo docker images 先查看是否有有kafka 和 zookeeper的镜像,如果没有则拉取对应的镜像

    sudo docker pull wurstmeister/kafka:2.11-2.0.0
    sudo docker pull zookeeper:3.4
    
    • 配置并启动一个名为zookeeper-test的zookeeper容器:
    sudo docker run -d --name zookeeper-test \
    --restart always \
    -p 2181:2181 \
    -p 2888:2888 \
    -p 3888:3888 \
    zookeeper:3.4
    

    执行以下命令应该能够看到一个名为zookeeper-test的容器正在运行

    sudo docker ps
    
    • 配置并启动一个名为kafka-test的kafka容器:
    sudo docker run -d --name kafka-test  \
    -e HOST_IP=localhost \
    -e KAFKA_ADVERTISED_PORT=9092 \
    -e KAFKA_BROKER_ID=1 \
    -e ZK=zookeeper-test \
    -e KAFKA_ZOOKEEPER_CONNECT=zookeeper-test:2181 \
    -e KAFKA_ADVERTISED_HOST_NAME=localhost \
    -p 9092:9092 \
    --link zookeeper-test:zookeeper-test \
    wurstmeister/kafka:2.11-2.0.0
    

    执行以下命令应该能够看到一个名为kafka-test的容器正在运行

    sudo docker ps
    
    • 测试是否都已经启动好
    nc -vz localhost 2181   #zookeeper Connection to localhost 2181 port [tcp/*] succeeded!
    nc -vz localhost 9092   #kafka Connection to localhost 9092 port [tcp/*] succeeded!
    

    如果显示success,类似于注释中的内容说明容器已经启动好了。

    相关文章

      网友评论

          本文标题:在dokcer中运行kafka

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