Kafka常用操作

1创建topic

在/opt/cloudera/parcels/CDH/lib/kafka/bin目录下:

./kafka-topics.sh --create --zookeeper cdh03:2181 --replication-factor 2 --partitions 3 --topic test

2查看指定topic

./kafka-topics.sh --describe --zookeeper cdh03:2181 --topic test

从上图看出,  topic有3个分区, 2个副本。  

       每分区的所有副本都只有一个leader , 由该lead broker进行读写分区数据。

2.1 查看副本为under replicated状态分区

./kafka-topics.sh --describe --zookeeper sz-hd-01:2181 [-topic test ] --under-replicated-partitions

查看存在 under replicated状态(fellow分区同步主分区超过replica.lag.time.max.ms设置值10s)的分区。

目前最新版本的kafka 服务段参数只有replica.lag.time.max.ms,早期有replica.lag.time.max.messages被移除。

under replicated的分区将被移除。所有分区都不在ISR, 则分区处于offline partion.

3 查看所有topic

./kafka-topics.sh --list --zookeeper cdh03:2181

 

 查看所有topic及描述

./kafka-topics.sh --describe --zookeeper cdh03:2181

4 删除topic

./kafka-topics.sh --delete --zookeeper cdh03:2181 --topic test

5 修改topic分区:

./kafka-topics.sh --alter --zookeeper 192.168.0.4:2181 --topic 7c1d49234d414308bfa4fda6e40ca44e  --partitions 12

6 修改分区保留时长:

./kafka-topics.sh --zookeeper 192.168.0.4:2181 --alter --topic 4aa0d2d35e62483685e6137e609a1184  --partitions 0 --config retention.ms=1000

5 控制台发送消息

./kafka-console-producer.sh --broker-list cdh03:9092 --topic test

6 控制台消费消息

./kafka-console-consumer.sh --bootstrap-server cdh03:9092 --topic test   --from-beginning

15 查看kafka分区信息: get /brokers/topics/[topic]/partitions/[partition]/state

16 查看kafka controller:   get /controller

17 查看kafka消费偏移量,及落后指标

./kafka-consumer-groups.sh --bootstrap-server cdh03::9092 --group aisearch-group --describe(新版用bootstrap-server,旧版用zookeeper)

在zookeeper终端使用 get /consumers/[groupId]/offsets/[topic]/[partitionId]  的方式一般看不到啥,原理待确认。

17.5 查看所有的消费组:

./kafka-consumer-groups.sh --bootstrap-server xxxx:9092 --list

18 重新设置kafka偏移量 

参考文档:Kafka consumer group位移重设 - huxihx - 博客园

设置消费组offset, 必须处于非运行状态

确定topic作用域——当前有3种作用域指定方式:--all-topics(为consumer group下所有topic的所有分区调整位移),--topic t1 --topic t2(为指定的若干个topic的所有分区调整位移),--topic t1:0,1,2(为指定的topic分区调整位移)

  • 确定执行方案——当前支持3种方案:
    • 什么参数都不加:只是打印出位移调整方案,不具体执行
    • --execute:执行真正的位移调整
    • --export:把位移调整方案按照CSV格式打印,方便用户成csv文件,供后续直接使用

1)将指定topic调整到指定offset:  --to-offset 

我们可以记录下某个时刻消费组的offset, 然后每个分区单独指定到对应offset

指定分区ai_search_log:0消费组aisearch_2_hive_group到偏移位置

kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group aisearch_2_hive_group --reset-offsets --topic ai_search_log:0 --to-offset 1234 --execute

指定groupid下所有TOPIC到特定时间

./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group aisearch_2_hive_group --reset-offsets --all-topics  --to-datetime   2020-11-05T00:00:00.000 --execute

2)将指定topic分区offset按时间指定:--to-datetime

kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group aisearch_2_hive_group 

 --reset-offsets --topic ai_search_log --to-datetime   2020-10-28T00:00:00.000 --execute

19 设置某个TOPIC数据保留时长。

 ./kafka-configs.sh --zookeeper bigdata01:2181 --alter --entity-name mytopic --entity-type topics --add-config retention.ms=259200000

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值