Kafka(三)- Kafka 命令行操作

文章目录

  • 一、Kafka 命令行操作
    • 1. Kafka 基础架构
    • 2. topic 命令行操作
    • 3. producer 命令行操作
    • 4. consumer 命令行操作

一、Kafka 命令行操作

1. Kafka 基础架构

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

Kafka(三)- Kafka 命令行操作_第1张图片

2. topic 命令行操作

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

以下是常用参数:
Kafka(三)- Kafka 命令行操作_第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.
3)查看当前服务器中的所有 topic
[root@hadoop102 kafka_2.12-3.0.0]$ bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --list
输出:
first
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副本)
5)修改分区数(注意:分区数只能增加,不能减少)
[root@hadoop102 kafka_2.12-3.0.0]$ bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --alter --topic first --partitions 3
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
7)删除 topic
[root@hadoop102 kafka_2.12-3.0.0]$ bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --delete --topic first

3. producer 命令行操作

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

Kafka(三)- Kafka 命令行操作_第3张图片

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

4. consumer 命令行操作

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

Kafka(三)- Kafka 命令行操作_第4张图片

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历史数据

你可能感兴趣的:(kafka,kafka,java,分布式)