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> | 更新系统默认的配置 |
增删改查操作
-
「增」创建一个名为 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 -
「查」查看所有 topic
[root@hadoop102 kafka_2.12-3.0.0]# bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --list first -
「查」查看 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 -
「改」修改分区数,注意,分区数只能增加不能减少
[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 查询为空,已经成功删除!
[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> | 指定消费者组名称 |
消费消息
-
增量消费(从开启消费之后,生产者再发送才会消费到)
[root@hadoop103 kafka_2.12-3.0.0]# bin/kafka-console-consumer.sh --bootstrap-server hadoop102:9092,hadoop103:9092 --topic first heihei -
全量消费(读取 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