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'(相应地)。
输出将显示为:
上面的快照显示错误"缺少必需的参数分区" .因为在创建主题时需要声明分区数及其 ISR(复制因子)。如果不声明,会抛出这种类型的错误。
Step3: 现在,在满足必要条件后重写上面的命令,如:
'kafka-topics.bat-zookeeper localhost:2181-topic --create ?partitions --replication-factor '。
再次报错,表示复制因子多于经纪人的数量。到目前为止,我们只启动了一个代理,而不是多个代理。这样,就会出现这种类型的错误。
注意: 复制因子永远不能大于可用代理的数量。
Step4: 现在考虑复制因子为1,重写上面的命令。按回车键。输出将显示为:
因此,如果所有步骤都处理完毕成功,则主题创建成功,如上输出所示。
主题已经存在
如果用户创建了另一个同名主题作为现有主题,将抛出错误"topic already exists"。
关于topic的更多信息
1) 列出Topic的数量
To list在代理中创建的主题数,使用 '-list' 命令如下:
'kafka-topics.bat-zookeeper localhost:2181-list'。
目前有两个主题"myfirst"和"mysecond"在上面的快照中。
2) 描述主题
要在代理中描述主题,请使用"-describe"命令:
'kafka-topics.bat-zookeeper localhost:2181-describe--topic <topic_name>'。这个命令给出了一个主题的完整描述,包括分区、领导者、副本和 ISR 的数量。
3) 删除主题
要删除主题,请使用"-delete"命令。删除命令使用为: 'kafka-topics.sh-zookeeper localhost:2181-topic<topic_name>--delete'
注意: Window 用户在删除任何主题时都会遇到问题。所以,在 Linux 或 macOS 上更喜欢这个命令。
在上面的快照中,可以看到有两个现有主题"myfirst"和"mysecond"。删除"mysecond"主题后,"-list"命令只列出了"myfirst"主题。
这样,可以创建各种主题和多个命令可以应用于不同的主题。
为了向Kafka Topic发送数据,需要一个producer。生产者的作用是向Kafka主题发送或写入数据/消息。在本节中,我们将学习生产者如何向Kafka主题发送消息。启动生产者有以下步骤:第一步: 启动zooke ...