成功启动zookeeper和kafka之后,我们就可以来看看kafka的命令行操作了。如果想要知道kafka的命令行,那么可以去这个网页去学习一下:quickstart。
- 我们都知道kafka的数据存储都是以topic的形式存储的,那么首先来看看目前都有哪些topic
当然返回结果为空,因为目前还没有topic。这里walter101也可以改为localhost,都可以找到本机的ip+kafka开放端口号[root@walter101 kafka_2.12-2.3.0]# ./bin/kafka-topics.sh --bootstrap-server walter101:9092 --list - 创建topic,这里–partitions是指这个topic有几个分区,分区多是为了更快消费。–replication-factor是指每个topic分区有几个备份(包括自身)。我这里共有三台服务器,所以分区数选3,备份选2。
此时再去查看topic,就可以看到team[root@walter101 kafka_2.12-2.3.0]# ./bin/kafka-topics.sh --bootstrap-server walter101:9092 --create --topic team --partitions 3 --replication-factor 2[root@walter101 kafka_2.12-2.3.0]# ./bin/kafka-topics.sh --bootstrap-server walter101:9092 --list team - 查看topic详情
我们可以看到这个topic名为team,更有三个分区,其中partition 0的Leader是2,备份在1和2上;partition 1的Leader是3,备份在1和3上;partition 2的Leader是1,备份在1和3上。[root@walter101 kafka_2.12-2.3.0]# ./bin/kafka-topics.sh --bootstrap-server walter101:9092 --describe --topic team Topic:team PartitionCount:3 ReplicationFactor:2 Configs:segment.bytes=1073741824 Topic: team Partition: 0 Leader: 2 Replicas: 2,1 Isr: 2,1 Topic: team Partition: 1 Leader: 3 Replicas: 3,2 Isr: 3,2 Topic: team Partition: 2 Leader: 1 Replicas: 1,3 Isr: 1,3 - 删除topic
这里需要在server.properties里面配置delete.topic.enable=true,才能真正删除topic[root@walter101 kafka_2.12-2.3.0]# ./bin/kafka-topics.sh --bootstrap-server walter101:9092 --delete --topic team - 生产者和消费者,生产消息和消费消息,–from-beginning表示从头消费。如果两者同时打开,你可以看到生产者输入,消费者便会随即输出。
[root@walter101 kafka_2.12-2.3.0]# ./bin/kafka-console-producer.sh --broker-list walter101:9092 --topic team >walter >developer >tester[root@walter102 kafka_2.12-2.3.0]# ./bin/kafka-console-consumer.sh --bootstrap-server walter102:9092 --topic team --from-beginning walter eveloper tester
本文介绍了在启动zookeeper和kafka后如何进行命令行操作,包括查看topic、创建topic、查看topic详情、删除topic以及使用生产者和消费者发送与接收消息。在创建topic时,提到了--partitions参数用于指定分区数,--replication-factor参数用于设置每个分区的备份数量。此外,删除topic需在配置文件中启用delete.topic.enable选项。
1万+

被折叠的 条评论
为什么被折叠?



