• Kafka(三)- Kafka 命令行操作


    一、Kafka 命令行操作

    1. Kafka 基础架构

    Kafka每个模块都对应一个脚本,例如:consumer、producer、topics对应的脚本kafka-console-consumer.sh、kafka-console-producer.sh、kafka-topics.sh

    2. topic 命令行操作

    1)查看操作topic命令参数
    [root@hadoop102 kafka_2.12-3.0.0]$ bin/kafka-topics.sh
    
    • 1
    • 2

    以下是常用参数:
    在这里插入图片描述

    2)创建名称为first的topic
    [root@hadoop102 kafka_2.12-3.0.0]$ bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --create --partitions 1 --replication-factor 3 --topic first
    选项说明:
    --topic 定义 topic 名
    --replication-factor 定义副本数
    --partitions 定义分区数
    输出:
    Created topic first.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    3)查看当前服务器中的所有 topic
    [root@hadoop102 kafka_2.12-3.0.0]$ bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --list
    输出:
    first
    
    • 1
    • 2
    • 3
    • 4
    4)查看 first 主题的详情
    [root@hadoop102 kafka_2.12-3.0.0]# bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --describe --topic first
    输出:
    Topic: first    TopicId: u7i_SCslQZmZxTOHyglg7A PartitionCount: 1       ReplicationFactor: 3    Configs: segment.bytes=1073741824
            Topic: first    Partition: 0    Leader: 2       Replicas: 2,1,0 Isr: 2,1,0
    
    segment.bytes=1073741824 表示默认存储1G的数据
    Partition: 0 表示只有一个分区0
    Replicas: 2,1,0 表示有3个副本,分表为0,1,2
    Leader: 2 表示2号副本为Leader(即此时hadoop104是Leader副本)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    5)修改分区数(注意:分区数只能增加,不能减少)
    [root@hadoop102 kafka_2.12-3.0.0]$ bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --alter --topic first --partitions 3
    
    • 1
    • 2
    6)再次查看 first 主题的详情
    [root@hadoop102 kafka_2.12-3.0.0]$ bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --describe --topic first
    输出:
    Topic: first    TopicId: u7i_SCslQZmZxTOHyglg7A PartitionCount: 3       ReplicationFactor: 3    Configs: segment.bytes=1073741824
            Topic: first    Partition: 0    Leader: 2       Replicas: 2,1,0 Isr: 2,1,0
            Topic: first    Partition: 1    Leader: 0       Replicas: 0,1,2 Isr: 0,1,2
            Topic: first    Partition: 2    Leader: 1       Replicas: 1,2,0 Isr: 1,2,0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    7)删除 topic
    [root@hadoop102 kafka_2.12-3.0.0]$ bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --delete --topic first
    
    • 1
    • 2

    3. producer 命令行操作

    (1)查看操作生产者命令参数
    [root@hadoop102 kafka_2.12-3.0.0]$ bin/kafka-console-producer.sh
    
    • 1
    • 2

    在这里插入图片描述

    (2)发送消息
    [root@hadoop102 kafka_2.12-3.0.0]$ bin/kafka-console-producer.sh --bootstrap-server hadoop102:9092 --topic first
    >hello world
    
    • 1
    • 2
    • 3

    4. consumer 命令行操作

    1)查看操作消费者命令参数
    [root@hadoop102 kafka_2.12-3.0.0]$ bin/kafka-console-consumer.sh
    
    • 1
    • 2

    在这里插入图片描述

    2)消费消息
    1.消费 first 主题中的数据。
    [root@hadoop102 kafka_2.12-3.0.0]$ bin/kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --topic first
    上面生产者第一次发送hello world,再来创建消费者consumer进行消费时,consumer消费不到历史的数据
    
    2.把主题中所有的数据都读取出来(包括历史数据)。
    [root@hadoop102 kafka_2.12-3.0.0]$ bin/kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --from-beginning --topic first
    hello world
    这时可以消费第一次发送的hello world历史数据
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  • 相关阅读:
    03- ROS 常用指令
    上线3个多月,累积PV超8000万?
    MySQL学习记录(6)索引02
    关于 re.sub 部分替换的解决办法
    销售人员应关注的 5 个指标
    huggingface transformers库中LlamaForCausalLM
    框架体系——Spring
    Python学习----文件操作
    Android Studio 的aapt2.exe在哪个目录下
    【杂记】java 大集合进行拆分
  • 原文地址:https://blog.csdn.net/qq_36602071/article/details/128099513