
1. 使用命令行创建主题
kafka-topics --create --topic test --partitions 3 --replication-factor 2
此命令将创建一个名为“test”的主题,该主题具有 3 个分区和 2 个副本因子。这意味着数据将在 2 个不同的代理上复制 3 次,以确保冗余和高可用性。
2. 使用 Java API 创建主题
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
AdminClient adminClient = AdminClient.create(props);
NewTopic topic = new NewTopic("test", 3, (short) 2);
adminClient.createTopics(Arrays.asList(topic));此代码将创建一个名为“test”的主题,该主题具有 3 个分区和 2 个副本因子。
3. 使用 Python API 创建主题
from kafka import KafkaAdminClient
admin_client = KafkaAdminClient(bootstrap_servers="localhost:9092")
topic_list = [
kafka.admin.NewTopic(name="test", num_partitions=3, replication_factor=2)
]
admin_client.create_topics(new_topics=topic_list, validate_only=False)此代码将创建一个名为“test”的主题,该主题具有 3 个分区和 2 个副本因子。
4. 使用 REST API 创建主题
MATLAB(矩阵实验室)是MATrix LABoratory的缩写,是一款由美国The MathWorks公司出品的商业数学软件。MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C,C++和FORTRAN)编写的程序。MATLAB基础知识;命令窗口是用户与MATLAB进行交互作业的主要场所,用户输入的MATLAB交互命令均在命令窗口执行。 感兴趣的朋友可以
curl -X POST -H "Content-Type: application/json" -d '{"name": "test", "partitions": 3, "replication_factor": 2}' http://localhost:8083/topics此命令将创建一个名为“test”的主题,该主题具有 3 个分区和 2 个副本因子。
5. 使用 Kafka UI 创建主题
- 打开 Kafka UI,网址为 http://localhost:8083。
- 单击“主题”选项卡。
- 单击“创建主题”按钮。
- 在“名称”字段中,输入主题的名称。
- 在“分区数”字段中,输入分区数。
- 在“副本因子”字段中,输入副本因子。
- 单击“创建”按钮。
主题将被创建,您将在主题列表中看到它。
其他选项
除了上述方法之外,您还可以使用以下选项创建主题:
- 使用 [Kafka REST Proxy](https://kafka.apache.org/documentation/#rest_proxy)
- 使用 [Kafka Python Package](https://github.com/dpkp/kafka-python)
- 使用 [Kafka Go Package](https://github.com/Shopify/sarama)
- 使用 [Kafka Node.js Package](https://github.com/segmentio/kafka-node)
注意事项
- 在创建主题时,您需要确保主题名称是唯一的。
- 您还必须确保分区数和副本因子与您的应用程序需求兼容。
- 如果您创建了一个具有大量分区的主题,则可能会遇到性能问题。
- 如果您创建了一个具有大量副本因子的主题,则可能会增加存储开销。










