1.介绍
Kafka是一个分布式流处理平台,用于高吞吐量、低延迟的数据传输和处理。一般是用做分布式系统的消息中间件。
2.前提概要
阅读本章博客之前,你至少需要满足以下条件:
- 电脑已经安装过docker
- 已经使用docker搭建了zookeeper (PS:如果没搭建过,可以参考这篇博客 docker如何搭建zookeeper)
3.Kafka如何搭建
1.拉取镜像
docker pull wurstmeister/kafka
命令/单词作用dockerDocker 是一个开源的应用容器引擎,可以帮助开发者打包、发布和运行应用程序。(需要提前安装)pull该命令从 Docker 镜像仓库中拉取指定的镜像。wurstmeister/kafka官方的kafka镜像
2.运行容器
docker run -d --name kafka -p 9092:9092 --env KAFKA_ADVERTISED_HOST_NAME=10.83.239.211 --env KAFKA_ZOOKEEPER_CONNECT=10.83.239.211:2181 --env KAFKA_CREATE_TOPICS="LOG_TOPIC,ORDER_TOP" wurstmeister/kafka
命令部分说明docker run运行 Docker 容器-d后台运行容器(如果前台启动,窗口关闭就没了)–name kafka容器名称为 kafka-p 9092:9092将容器内部的 9092 端口映射到主机的 9092 端口–env KAFKA_ADVERTISED_HOST_NAME=10.83.239.211设置 Kafka 的 advertised.host.name 属性为 10.83.239.211(这个要改成当前docker所在机器的IP)–env KAFKA_ZOOKEEPER_CONNECT=10.83.239.211:2181设置 Kafka 的 zookeeper.connect 属性为 10.83.239.211:2181(这个要改成 zookeeper的IP和端口,一般本地开发和上面放在同一个容器)–env KAFKA_CREATE_TOPICS=“LOG_TOPIC,ORDER_TOP”创建两个 Kafka 主题,分别为 LOG_TOPIC 和 ORDER_TOP (主题自己定,可以逗号隔开)wurstmeister/kafka使用 wurstmeister/kafka 镜像创建容器
至此,Kafka就已经搭建完毕啦。
3.测试创建新主题
docker exec -it kafka /opt/kafka/bin/kafka-topics.sh --create --zookeeper 10.83.239.211:2181 --replication-factor 1 --partitions 1 --topic test
这将在Kafka中创建一个名为“test”的TOPIC。
4.测试发送消息到Kafka的指定TOPIC
可以使用以下命令向该主题发送消息:
docker exec -it kafka /opt/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
PS: 这里可以用localhost,是因为是在容器内部使用的
5.测试读取Kafka指定TOPIC的消息
当显示左箭头的时候,可以输入消息,然后回车就可以发送消息
docker exec -it kafka /opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
4.小结
通过本章博客,我们大致了解了如下内容:
- 如何搭建Kafka
- 简单新建TOPIC
- 如何往消息队列里加消息
- 如何读取消息队列里的消息
版权归原作者 其樂无穷 所有, 如有侵权,请联系我们删除。