Kafka常用命令

Kafka 命令行常用操作总结

Kafka常用命令

注意:--bootstrap-server参数后应该跟多个 broker 节点地址,下面是为了写的方便所以只跟了一个 kafka broker 地址,跟多个 broker 节点地址,之间用英文逗号分隔,如下示例

--bootstrap-server hadoop102:9092,hadoop103:9092

主题(topic)命令行操作

查看相关参数

[root@hadoop102 kafka_2.12-3.0.0]# bin/kafka-topics.sh

常用参数汇总

参数描述
–bootstrap-server <String: server toconnect to>连接的 Kafka Broker 主机名称和端口号
–topic <String: topic>操作的 topic 名称
–create创建主题
–delete删除主题
–alter修改主题
–list查看所有主题
–describe查看主题详细描述
–partitions <Integer: # of partitions>设置分区数
–replication-factor <Integer: replication factor>设置分区副本
–config <String: name=value>更新系统默认的配置

增删改查操作

  1. 「增」创建一个名为 first 的 topic

    这个命令可以拆开来看:

    • bin/kafka-topics.sh --bootstrap-server hadoop102:9092:这是起手式,起码得能连接上broker,才能进行后续操作
    • --topic first:表示,要对一个叫 first 的 topic 进行操作
    • --create:进行什么操作呢?这里就告诉它我们要进行创建操作
    • --partitions 1 --replication-factor 3:既然是创建了,就得设置 topic 的相关参数了,需要设置 分区数和分区副本数
    bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --topic first --create --partitions 1 --replication-factor 3
  2. 「查」查看所有 topic

    [root@hadoop102 kafka_2.12-3.0.0]# bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --list
    first
  3. 「查」查看 first 主题详情信息

    [root@hadoop102 kafka_2.12-3.0.0]# bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --topic first --describe
    Topic: first    TopicId: kS4JYL_oTJeiehAIrtNrtg PartitionCount: 1       ReplicationFactor: 3    Configs: segment.bytes=1073741824
            Topic: first    Partition: 0    Leader: 103     Replicas: 103,104,102   Isr: 103,104,102
  4. 「改」修改分区数,注意,分区数只能增加不能减少

    [root@hadoop102 kafka_2.12-3.0.0]# bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --topic first --alter --partitions 3
    [root@hadoop102 kafka_2.12-3.0.0]# bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --topic first --describe
    Topic: first    TopicId: kS4JYL_oTJeiehAIrtNrtg PartitionCount: 3       ReplicationFactor: 3    Configs: segment.bytes=1073741824
            Topic: first    Partition: 0    Leader: 103     Replicas: 103,104,102   Isr: 103,104,102
            Topic: first    Partition: 1    Leader: 104     Replicas: 104,103,102   Isr: 104,103,102
            Topic: first    Partition: 2    Leader: 102     Replicas: 102,104,103   Isr: 102,104,103
  5. 「删」删除 first 主题,list 查询为空,已经成功删除!

    [root@hadoop102 kafka_2.12-3.0.0]# bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --topic first --delete
    [root@hadoop102 kafka_2.12-3.0.0]# bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --topic first --list
    

生产者(producer)命令行操作

查看相关参数

[root@hadoop102 kafka_2.12-3.0.0]# bin/kafka-console-producer.sh

常用参数汇总

参数描述
–bootstrap-server <String: server toconnect to>连接的 Kafka Broker 主机名称和端口号
–topic <String: topic>操作的 topic 名称

发送消息

bin/kafka-console-producer.sh --bootstrap-server hadoop102:9092 --topic first

消费者(consumer)命令行操作

查看相关参数

[root@hadoop103 kafka_2.12-3.0.0]# bin/kafka-console-consumer.sh

常用参数汇总

参数描述
–bootstrap-server <String: server toconnect to>连接的 Kafka Broker 主机名称和端口号
–topic <String: topic>操作的 topic 名称
–from-beginning从头开始消费
–group <String: consumer group id>指定消费者组名称

消费消息

  1. 增量消费(从开启消费之后,生产者再发送才会消费到)

    [root@hadoop103 kafka_2.12-3.0.0]# bin/kafka-console-consumer.sh --bootstrap-server hadoop102:9092,hadoop103:9092 --topic first
    heihei
  2. 全量消费(读取 topic 所有的数据,包括历史数据)

    [root@hadoop103 kafka_2.12-3.0.0]# bin/kafka-console-consumer.sh --bootstrap-server hadoop102:9092,hadoop103:9092 --topic first --from-beginning
    hello
    heihei

Kafka常用命令
https://www.powercheng.fun/articles/d25e2bb0/
作者
powercheng
发布于
2022年5月16日
许可协议