我们这里使用第三方docker镜像来安装kafka环境,分别是:wurstmeister/kafka 和 wurstmeister/zookeeper ,如需修改和自定义请查看对应的Dockerfile。

  1. 拉取zookeeper

    docker pull wurstmeister/zookeeper
    
  2. 拉取kafka

    docker pull wurstmeister/kafka
    
  3. 创建zookeeper容器

    docker run -d --name zookeeper -p 2181 -t wurstmeister/zookeeper
    
  4. 创建kafka容器

    docker run -d --name kafka --publish 9092:9092 --link zookeeper --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 --env KAFKA_ADVERTISED_HOST_NAME=127.0.0.1 --env KAFKA_ADVERTISED_PORT=9092 --volume /etc/localtime:/etc/localtime wurstmeister/kafka:latest
    
  5. 测试kafka

    docker exec -it kafka /bin/bash
    
  6. 进入kafka目录,每个人版本可能不一样,能先进入cd opt目录下,通过ls命令查看该进入哪个目录。

    cd /opt/kafka
    
  7. 到kafka的bin目录下创建一个主题

    ./kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic mykafka 
    # --create 创建一个主题
    # --zookeeper 连接zookeeper
    # --replication-factor kafka副本数
    # --partitions kafka分区数
    # --topic mykafka 主题名称
    
  8. 启动一个生产者,指定topic为刚刚创建的主题mykafka

    /kafka-console-producer.sh --broker-list localhost:9092 --topic mykafka 
    
  9. 重新打开一个连接窗口,登录到kafka容器,进入到kafkaconfig目录,修改server.properties文件,192.168.119.128是自己虚拟机地址

    # listeners = PLAINTEXT://your.host.name:9092
    listeners=PLAINTEXT://192.168.119.128:9092
    
  10. bin目录下启动一个消费者。

    ./kafka-console-consumer.sh --topic mykafka --bootstrap-server 192.168.119.128:9092
    
  11. 效果

    生产者:
    在这里插入图片描述
    消费者:
    在这里插入图片描述

Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐