📜  创建Kafka主题

📅  最后修改于: 2021-01-05 02:47:06             🧑  作者: Mango

创建 kafka 主题

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

可以使用以下步骤创建主题:

第1步:首先,请确保同时启动Zookeeper和Kafka服务器。

步骤2:输入' kafka-topics -zookeeper localhost:2181 -topic -创造在控制台上,然后按Enter。在这里,主题名称为“ myfirst”

kafka-topics -zookeeper localhost:2181 -topic  -create

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

输出将显示为:

上面的快照显示错误“缺少必需的参数分区”。由于在创建主题时必须声明分区的数量及其ISR(复制因子)。如果未声明,则将引发此类错误。

步骤3:现在,在满足必要条件后,重写以上命令,如下所示:

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

同样,将引发错误,表明复制因子大于代理数目。到目前为止,我们仅启动了一个经纪人,而不是多个经纪人。因此,将出现这种类型的错误。

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

步骤4:现在将复制因子视为1,然后重写上面的命令。按回车。输出将显示为:

因此,如果所有步骤都被成功处理,那么主题将被成功创建,如上面的输出所示。

主题已存在

如果用户使用与现有主题相同的名称创建另一个主题,则会引发错误“主题已存在”。

关于主题的更多信息

1)列出主题数

要列出在代理中创建的主题数,请使用“ -list ”命令,如下所示:

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

上面的快照中有两个主题“ myfirst”和“ mysecond”。

2)描述一个话题

要在代理中描述主题,请使用' -describe '命令,如下所示:

'kafka-topics.bat -zookeeper localhost:2181 -describe –topic ' 。该命令通过分区,引导者,副本和ISR的数量给出了主题的完整描述。

3)删除主题

要删除主题,请使用' -delete '命令。 delete命令用作: 'kafka-topics.sh -zookeeper localhost:2181 -topic –delete'

注意:Window用户在删除任何主题时都会遇到问题。因此,在Linux或macOS上最好使用此命令。

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

因此,通过这种方式,可以创建各种主题,并且可以将多个命令应用于不同的主题。