Kafka 创建主题

在本节中,用户将学习在 Windows 上使用命令行界面(CLI)创建主题。

有以下步骤用于创建主题:

步骤 1: 首先,确保 Zookeeper 和 Kafka 服务器都应启动。

步骤2: 输入'kafka-topics-zookeeper localhost:2181-topic -创建 ' 并按 Enter。这里,主题的名称是'myfirst'

kafka-topics-zookeeper localhost:2181-topic <topic_name>-create

注意: 在 Linux 上创建主题时使用 '.sh' 代替 '.bat'(相应地)。

Creating Kafka Topics

输出将显示为:

Creating Kafka Topics

上面的快照显示错误"缺少必需的参数分区" .因为在创建主题时需要声明分区数及其 ISR(复制因子)。如果不声明,会抛出这种类型的错误。

Step3: 现在,在满足必要条件后重写上面的命令,如:

'kafka-topics.bat-zookeeper localhost:2181-topic --create ?partitions --replication-factor '。

Creating Kafka Topics

再次报错,表示复制因子多于经纪人的数量。到目前为止,我们只启动了一个代理,而不是多个代理。这样,就会出现这种类型的错误。

注意: 复制因子永远不能大于可用代理的数量。

Step4: 现在考虑复制因子为1,重写上面的命令。按回车键。输出将显示为:

Creating Kafka Topics

因此,如果所有步骤都处理完毕成功,则主题创建成功,如上输出所示。

主题已经存在

如果用户创建了另一个同名主题作为现有主题,将抛出错误"topic already exists"。

Creating Kafka Topics

 

关于topic的更多信息

1) 列出Topic的数量

To list在代理中创建的主题数,使用 '-list' 命令如下:

'kafka-topics.bat-zookeeper localhost:2181-list'。

Creating Kafka Topics

目前有两个主题"myfirst"和"mysecond"在上面的快照中。

2) 描述主题

要在代理中描述主题,请使用"-describe"命令:

'kafka-topics.bat-zookeeper localhost:2181-describe--topic <topic_name>'。这个命令给出了一个主题的完整描述,包括分区、领导者、副本和 ISR 的数量。

Creating Kafka 主题

3) 删除主题

要删除主题,请使用"-delete"命令。删除命令使用为: 'kafka-topics.sh-zookeeper localhost:2181-topic<topic_name>--delete'

注意: Window 用户在删除任何主题时都会遇到问题。所以,在 Linux 或 macOS 上更喜欢这个命令。

Creating Kafka Topics

在上面的快照中,可以看到有两个现有主题"myfirst"和"mysecond"。删除"mysecond"主题后,"-list"命令只列出了"myfirst"主题。

这样,可以创建各种主题和多个命令可以应用于不同的主题。

为了向Kafka Topic发送数据,需要一个producer。生产者的作用是向Kafka主题发送或写入数据/消息。在本节中,我们将学习生产者如何向Kafka主题发送消息。启动生产者有以下步骤:第一步: 启动zooke ...