kafka命令行操作

成功启动zookeeper和kafka之后,我们就可以来看看kafka的命令行操作了。如果想要知道kafka的命令行,那么可以去这个网页去学习一下:quickstart。

  1. 我们都知道kafka的数据存储都是以topic的形式存储的,那么首先来看看目前都有哪些topic
    [root@walter101 kafka_2.12-2.3.0]# ./bin/kafka-topics.sh --bootstrap-server walter101:9092 --list
    
    当然返回结果为空,因为目前还没有topic。这里walter101也可以改为localhost,都可以找到本机的ip+kafka开放端口号
  2. 创建topic,这里–partitions是指这个topic有几个分区,分区多是为了更快消费。–replication-factor是指每个topic分区有几个备份(包括自身)。我这里共有三台服务器,所以分区数选3,备份选2。
    [root@walter101 kafka_2.12-2.3.0]# ./bin/kafka-topics.sh --bootstrap-server walter101:9092 --create --topic team --partitions 3 --replication-factor 2
    
    此时再去查看topic,就可以看到team
    [root@walter101 kafka_2.12-2.3.0]# ./bin/kafka-topics.sh --bootstrap-server walter101:9092 --list
    team
    
  3. 查看topic详情
    [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名为team,更有三个分区,其中partition 0的Leader是2,备份在1和2上;partition 1的Leader是3,备份在1和3上;partition 2的Leader是1,备份在1和3上。
  4. 删除topic
    [root@walter101 kafka_2.12-2.3.0]# ./bin/kafka-topics.sh --bootstrap-server walter101:9092 --delete --topic team 
    
    这里需要在server.properties里面配置delete.topic.enable=true,才能真正删除topic
  5. 生产者和消费者,生产消息和消费消息,–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
    

你可能感兴趣的:(SSTMC微服务开发系列)