一、安装ZooKeeper
因为Kafka需要搭配ZK使用,这里我们需要先安装ZK。
Docker —— 安装、运行ZooKeeper,并使用Idea连接
二、安装Kafka
# 拉取Kafka镜像
docker pull wurstmeister/kafka
# 启动Kafka容器
docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=zk机器ip:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka所在机器ip:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka
# 参数说明,这里我zk和kafka在同一台机器上
# -e KAFKA_BROKER_ID=0 在kafka集群中,每个kafka都有一个BROKER_ID来区分自己
# -e KAFKA_ZOOKEEPER_CONNECT=zk机IP:2181/kafka 配置zookeeper管理kafka的路径zk机IP:2181/kafka
# -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka机IP:9092 把kafka的地址端口注册给zookeeper
# -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 配置kafka的监听端口
# -v /etc/localtime:/etc/localtime 容器时间同步虚拟机的时间
# 查看容器启动情况,查看是否有kafka容器
docker ps
三、运行并测试
创建Topic
# 进入容器bash
docker exec -it kafka bash
# 进入kafka下bin目录
cd /opt/kafka_2.13-2.7.0/bin
# 创建一个kafka topic,记得修改zk机IP,结果 Created topic test01.
kafka-topics.sh --create --zookeeper zk机IP:2181 --replication-factor 1 --partitions 1 --topic test01
# 运行一个生产者生产消息,输够了之后用crtl+c解决即可重新进入bash
kafka-console-producer.sh --broker-list localhost:9092 --topic test01
# 运行一个消费者消费消息
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test01 --from-beginning
运行结果
参考:
https://blog.csdn.net/qq_22041375/article/details/106180415
http://blog.70ci.com/post/736.html