下载镜像

docker pull wurstmeister/zookeeper  

docker pull wurstmeister/kafka  

启动镜像

docker run -d --name zookeeper --publish 2181:2181 --volume /etc/localtime:/etc/localtime zookeeper:latest

docker run -d --name kafka --publish 9092:9092 --link zookeeper --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 
--env KAFKA_ADVERTISED_HOST_NAME=kafka所在宿主机的IP --env KAFKA_ADVERTISED_PORT=9092 --volume /etc/localtime:/etc/localtime 
wurstmeister/kafka:latest

3、测试发送消息

执行Docker ps,找到kafka的Container ID,进入容器内部:

[html]  view plain  copy
 print ?
  1. docker exec -it ${CONTAINER ID} /bin/bash   

进入kafka默认目录

[html]  view plain  copy
 print ?
  1. cd opt/kafka_2.11-0.10.1.1/   

下面就是跟一般的kafka没什么区别了

创建一个主题:

[html]  view plain  copy
 print ?
  1. bin/kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic mykafka  

运行一个消息生产者,指定topic为刚刚创建的主题

[html]  view plain  copy
 print ?
  1. bin/kafka-console-producer.sh --broker-list localhost:9092 --topic mykafka  

运行一个消费者,指定同样的主题

[html]  view plain  copy
 print ?
  1. bin/kafka-console-consumer.sh --zookeeper zookeeper:2181 --topic mykafka --from-beginning  

这时在生产者输入测试消息,在消费者就可以接收消息了


Logo

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

更多推荐