kafka三(基本命令)

文章记录一些常用基本命令和参数,更多参数请使用–help进行查阅或者查阅官方文档

1 主题管理
1.1 创建主题
kafka-topics.sh --create --bootstrap-server 172.18.187.15:9092 --replication-factor 2 --partitions 3 --topic kafka-action
控制台输出结果如下
Created topic kafka-action.
  • bootstrap-server:kafka服务器的地址列表
  • partitions:主题分区数
  • replication-factor 每个分区的副本数

查看zookeeper的主题输出如下

[zk: localhost:2181(CONNECTED) 2] ls /brokers/topics
[kafka-action]
1.2 删除主题
kafka-topics.sh --delete --bootstrap-server 172.18.187.15:9092 --topic kafka-action
1.3 查看主题
1.3.1 查看所有主题
kafka-topics.sh --list --bootstrap-server 172.18.187.15:9092
// 输出如下
kafka-action
test
1.3.2 查看主题详细信息
kafka-topics.sh --describe --bootstrap-server 172.18.187.15:9092
// 输出如下
Topic: test     PartitionCount: 3       ReplicationFactor: 2    Configs: segment.bytes=1073741824
        Topic: test     Partition: 0    Leader: 1       Replicas: 1,0   Isr: 1,0
        Topic: test     Partition: 1    Leader: 0       Replicas: 0,2   Isr: 0,2
        Topic: test     Partition: 2    Leader: 2       Replicas: 2,1   Isr: 2,1
Topic: kafka-action     PartitionCount: 3       ReplicationFactor: 2    Configs: segment.bytes=1073741824
        Topic: kafka-action     Partition: 0    Leader: 2       Replicas: 2,0   Isr: 2,0
        Topic: kafka-action     Partition: 1    Leader: 1       Replicas: 1,2   Isr: 1,2
        Topic: kafka-action     Partition: 2    Leader: 0       Replicas: 0,1   Isr: 0,1
kafka-topics.sh --describe --bootstrap-server 172.18.187.15:9092 --topic kafka-action
Topic: kafka-action     PartitionCount: 3       ReplicationFactor: 2    Configs: segment.bytes=1073741824
        Topic: kafka-action     Partition: 0    Leader: 2       Replicas: 2,0   Isr: 2,0
        Topic: kafka-action     Partition: 1    Leader: 1       Replicas: 1,2   Isr: 1,2
        Topic: kafka-action     Partition: 2    Leader: 0       Replicas: 0,1   Isr: 0,1

每组主题信息中第一行分别展示了主题名、主题分区总数、该主题副本总数、 建主题时通过 config 参数 设置 配置

从第二行开始按主题分区编号排序,展示每个分区的 Leader副本节点、副本列表 AR、SR 列表信息。

1.3.3 查看正在同步主题
kafka-topics.sh --describe --bootstrap-server 172.18.187.15:9092 --under-replicated-partitions
1.3.4 查看没有Leader的分区
kafka-topics.sh --describe --bootstrap-server 172.18.187.15:9092 --unavailable-partitions
1.3.5 查看主题覆盖的配置
kafka-topics.sh --describe --bootstrap-server 172.18.187.15:9092 --topics-with-overrides
1.3.6 查看主题分区偏移量
kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic kafkaTest2
1.4 修改主题
1.4.1 查看主题当前配置
kafka-topics.sh --describe --bootstrap-server 172.18.187.15:9092 --topics-with-overrides --topic kafka-action
// 输出如下
Topic: kafka-action     PartitionCount: 3       ReplicationFactor: 2    Configs: segment.bytes=1073741824
1.4.2 修改主题配置,如max.message.bytes
kafka-configs.sh --alter --bootstrap-server 172.18.187.15:9092 --add-config max.message.bytes=204800,segment.bytes=209715200 --topic kafka-action
1.4.3 删除主题配置
kafka-configs.sh --alter --bootstrap-server 172.18.187.15:9092 --delete-config segment.bytes --topic kafka-action
// 输出如下
Completed updating config for topic kafka-action
2 生产者基本操作
kafka-console-producer.sh --broker-list 172.18.187.15:9092 --property parse.key=true  --property key.separator=' ' --topic kafka-action

配合消费者来看一下效果

// 生产者
kafka-console-producer.sh --broker-list 172.18.187.15:9092 --property parse.key=true  --property key.separator=' ' --topic kafka-action
>key value
>key1 value1
>
// 消费者
kafka-console-consumer.sh --bootstrap-server 172.18.187.15:9092  --consumer-property group.id=-consumer-test --topic kafka-action
value
value1

bootstrap-server:kafka集群地址列表

parse.key:指定是否解析key

key.separator:key和value的分隔符

若开启了自动建主题配置项 auto.create topics.enable true 当生产者向一个还不存在的主题发送消息时 Kafka 会自动创建该主题。

3 消费者基本操作
3.1 消费消息
kafka-console-consumer.sh --bootstrap-server 172.18.187.15:9092 new-consumer  --group new-consumer --consumer-property client.id=new-consumer-cl --topic kafka-action --from-beginning 

例子与生产者一例类似

bootstrap-server:kafka集群地址列表。

from-beginning: 参数设置从消息起始位置开始消费。默认是从最新消息位置 latest开始消费。

group: 指定消费组id,也可以通过consumer-propety的group id进行配置。

consumer-property 参数后面以[k=v,k=v]键值对的形式指定消费者级别的配置。

  • group.id:消费组id,不指定默认在test-consumer-group下。
  • client.id:客户端id,如果客户端没有指定消费者的id,Kafka 会自动为该消费者生成一个全局唯一id , 格式为$ {groupld }-$ {hostN ame }-$ {times tamp}-$ {UUID 字符}。

partition: 指定消费的分区(不能和group.id同时使用)。

offset:指定从哪个偏移量开始消费。

3.2 查看各分区偏移量信息
kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list 172.18.187.15:9092  --topic kafka-action -time -1
输出如下
kafka-action:0:1
kafka-action:1:0
kafka-action:2:1
3.3 多主题消费
kafka-console-consumer.sh --bootstrap-server 172.18.187.15:9092 multi-consumer  --consumer-property group.id=consumer-multi --consumer-property client.id=new-consumer-multi --whitelist "kafka-action|test"

生产者1

在这里插入图片描述

生产者2
在这里插入图片描述

消费者
在这里插入图片描述

3.4 查看所有消费者组
kafka-consumer-groups.sh --list --bootstrap-server 172.18.187.15:9092
consumer-test
new-consumer
consumer-test-1
consumer-multi
consumer-offset-test
3.5 查看某个消费者组的消费详情
kafka-consumer-groups.sh --describe --group new-consumer  --bootstrap-server 172.18.187.15:9092
// 输出如下
GROUP           TOPIC           PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG             CONSUMER-ID                                          HOST            CLIENT-ID
new-consumer    kafka-action    0          1               1               0               new-consumer-cl-85697219-b90b-4231-8a7d-cddb2fc8ba84 /172.18.187.14  new-consumer-cl
new-consumer    kafka-action    1          0               0               0               new-consumer-cl-85697219-b90b-4231-8a7d-cddb2fc8ba84 /172.18.187.14  new-consumer-cl
new-consumer    kafka-action    2          2               2               0               new-consumer-cl-85697219-b90b-4231-8a7d-cddb2fc8ba84 /172.18.187.14  new-consumer-cl

GROUP:消费组

TOPIC:主题

PARTITION:分区

CURRENT-OFFSET: 当前小芬偏移量

LOG-END-OFFST: 记录的偏移量

CONSUMER-ID:消费者ID

HOST:ip地址

CLIENT-ID:客户端ID

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值