三、python操作kafka

一、基本概念回顾

Topic:一组消息数据的标记符;
Producer:生产者,用于生产数据,可将生产后的消息送入指定的Topic;
Consumer:消费者,获取数据,可消费指定的Topic;
Group:消费者组,同一个group可以有多个消费者,一条消息在一个group中,只会被一个消费者获取;
Partition:分区,为了保证kafka的吞吐量,一个Topic可以设置多个分区。同一分区只能被一个消费者订阅。

二、本地安装与启动(基于Docker)

#1、下载zookeeper镜像与kafka镜像:
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka  # 在hub.docker.com网站上,Star最多的kafka镜像

#2、本地启动zookeeper
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper  

#3、本地启动kafka(注意下述代码,将kafka启动在9092端口)
docker run -d --name kafka --publish 9092:9092 --link zookeeper \
--env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \
--env KAFKA_ADVERTISED_HOST_NAME=localhost \
--env KAFKA_ADVERTISED_PORT=9092 \
wurstmeister/kafka:latest 

#4、进入kafka bash
docker exec -it kafka bash
cd /opt/kafka/bin

#5、创建Topic,分区为2,Topic name为'kafka_demo'
kafka-topics.sh --create --zookeeper zookeeper:2181 \
--replication-factor 1 --partitions 2 --topic kafka_demo

#6、查看当前所有topic
kafka-topics.sh --zookeeper zookeeper:2181 --list

#7、安装kafka-python
pip install kafka-python

三、生产者(Producer)与消费者(Consumer)

上一篇
下一篇
Copyright © 2022 Egon的技术星球 egonlin.com 版权所有 帮助IT小伙伴学到真正的技术