Kafka 命令行常用操作总结
Kafka常用命令
注意:--bootstrap-server
参数后应该跟多个 broker 节点地址,下面是为了写的方便所以只跟了一个 kafka broker 地址,跟多个 broker 节点地址,之间用英文逗号分隔,如下示例
1 | --bootstrap-server hadoop102:9092,hadoop103:9092 |
主题(topic)命令行操作
查看相关参数
1 | [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> | 更新系统默认的配置 |
增删改查操作
「增」创建一个名为 first 的 topic
这个命令可以拆开来看:
bin/kafka-topics.sh --bootstrap-server hadoop102:9092
:这是起手式,起码得能连接上broker,才能进行后续操作--topic first
:表示,要对一个叫 first 的 topic 进行操作--create
:进行什么操作呢?这里就告诉它我们要进行创建操作--partitions 1 --replication-factor 3
:既然是创建了,就得设置 topic 的相关参数了,需要设置 分区数和分区副本数
1
bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --topic first --create --partitions 1 --replication-factor 3
「查」查看所有 topic
1
2[root@hadoop102 kafka_2.12-3.0.0]# bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --list
first「查」查看 first 主题详情信息
1
2
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: 1 ReplicationFactor: 3 Configs: segment.bytes=1073741824
Topic: first Partition: 0 Leader: 103 Replicas: 103,104,102 Isr: 103,104,102「改」修改分区数,注意,分区数只能增加不能减少
1
2
3
4
5
6[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「删」删除 first 主题,list 查询为空,已经成功删除!
1
2
3[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)命令行操作
查看相关参数
1 | [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 名称 |
发送消息
1 | bin/kafka-console-producer.sh --bootstrap-server hadoop102:9092 --topic first |
消费者(consumer)命令行操作
查看相关参数
1 | [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
2[root@hadoop103 kafka_2.12-3.0.0]# bin/kafka-console-consumer.sh --bootstrap-server hadoop102:9092,hadoop103:9092 --topic first
heihei全量消费(读取 topic 所有的数据,包括历史数据)
1
2
3[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