文章目录
前提
-
我的配置是
M1 芯片 Macbook pro
-
你的 kafka 处于启动状态,如果尚未启动,则通过以下命令依次运行
zookeeper
和kafka
,如果有安装问题可以参考上一篇文章brew services start zookeeper brew services start kafka
python 环境配置
-
首先,确保安装了
confluent-kafka
pip install confluent-kafka
-
使用以下Python脚本创建一个新的Kafka主题:
from confluent_kafka.admin import AdminClient, NewTopic # Kafka服务器配置 admin_client = AdminClient({ "bootstrap.servers": "localhost:9092" }) # 创建新主题的配置 topic_list = [NewTopic("my_new_topic", num_partitions=3, replication_factor=1)] # 注意: replication_factor 和 num_partitions 可能需要根据你的Kafka集群配置进行调整; # 创建主题 fs = admin_client.create_topics(topic_list) # 处理结果 for topic, f in fs.items(): try: f.result() # The result itself is None print(f"Topic { topic} created") except Exception as e: print(f"Failed to create topic { topic}: { e}")
- 注意
replication_factor
不能超过broker
的数量 - 具体原因可以参考视频
- 通过
python
只能创建 broker 的主题,而不能控制创建多个broker
,增加或管理brokers
的过程需要在集群的配置和部署阶段进行,而不能通过像confluent_kafka
这样的客户端库来实现。
- 注意
Kafka 生产消费者模型
生产者 producer
"""
@file: producer.py
@Time : 2024/3/29
@Author : Peinuan qin
"""
from confluent_kafka import Producer
import json
# Ka