关于kafka更改消费者对应分组下的offset值

kafka的offset保存位置分为两种情况 0.9.0.0版本之前默认保存在zookeeper当中
0.9.0.0版本之后保存在broker对应的topic当中

1.如何辨别你启用的consumer的offset保存位置
进入zookeeper的命令行当中 zkCli.sh localhost:2181 用 ls / 查看目录
如果你在代码中定义的group id 没有在 /consumers 这个文件夹中,代表offset保存在broker的topic中
前提是consumer确实已经创建并启动
如果group ID 在/consumers 目录下存在则 offset的保存位置是 /consumers/{group}/offsets/{topic}/{partition}
反之 offset的保存位置则是 /broker/topic/__consumer_offsets 当中

2.如何查看自己消费者分组 对应的 topic 的offset
第一种方式
bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --topic test-topic --zookeeper zookeeper:2181 --group group名字
第二种方式
kafka-consumer-offset-checker --zookeeper localhost :2181/kafka --group test-consumer-group --topic test
第三种方式
bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --topic test --zookeeper 10.0.10.10:2181 --group test-consumer-group
第四种方式
bin/kafka-consumer-groups.sh --bootstrap-server dbnode4:9092,dbnode5:9092,dbnode6:9092 --group test-consumer-group --describe

3.更改指定消费者分组对应topic的offset
第一种情况offset信息保存在topic中
bin/kafka-consumer-groups.sh --bootstrap-server dbnode4:9092,dbnode5:9092,dbnode6:9092 --group test-consumer-group --topic test --execute --reset-offsets --to-offset 10000
参数解析: --bootstrap-server 代表你的offset保存在topic中
--group 代表你的消费者分组
--topic 代表你消费的主题
--execute 代表支持复位偏移
--reset-offsets 代表要进行偏移操作
--to-offset 代表你要偏移到哪个位置 是long类型数值,只能比前面查询出来的小
还有其他的--to- ** 方式可以自己验证 本人验证过--to-datetime 没有成功

第二种方式offset信息保存在zookeeper当中
bin/kafka-consumer-groups.sh --zookeeper z1:2181,z2:2181,z3:2181 --group test-consumer-group --topic test --execute --reset-offsets --to-offset 10000
--zookeeper 和 --bootstrap-server 只能选一种方式

原文地址:http://blog.51cto.com/13639264/2135877

时间: 2024-10-08 10:19:55

关于kafka更改消费者对应分组下的offset值的相关文章

java实现Kafka的消费者示例

使用java实现Kafka的消费者 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 8

利用Zabbix API 获取各个分组下的服务器列表以及详细信息

现在越来越多的公司选择使用开源软件Zabbix来做服务器业务监控,其高逼格的用户管理是个亮点,所以可以通过调用它的接口将权限管理应用到很多地方,比如说堡垒机权限.以下是用python简单写了个小脚本,通过定义分组名便可以得到分组下的服务器信息. #coding=utf-8 __author__ = 'Perling' from urllib import urlencode import urllib2 import json def post(post_data):     api_url =

Dev GridView 获取选中分组下的所有数据行 z

现在要在DevExpress 的GridView 中实现这样一个功能.就是判断当前的选中行是否是分组行,如果是的话就要获取该分组下的所有数据信息. 如下图(当选中红框中的分组行事.程序要获取该分组下的所有数据) 实现代码如下: List<int> _gridViewRowIndexs = new List<int>(); //存储GridView 中选中的行索引 private void Test() { int[] rows = gridView1.GetSelectedRows

批量更改某个文件夹下的文件名

package demo2; import java.io.File; /* * 批量更改某个文件夹下的文件名 1.去掉某些标志 c:/小说 1.封装file对象 2.得到这个file对象下所有的子文件的file数组 3.遍历数组,改名 */ public class FileRenameDemo { public static void main(String[] args) { File folder = new File("c:/小说"); File[] arr = folder

快速遍历对比两个文件下的md5值

[[email protected] Activity]# find /opt/xyrpg/rpgserver_s1/XMLData/Activity/ -type f -exec md5sum {} \;|sed 's/rpgserver_s1/rpgserver_s2/'|md5sum -c /opt/xyrpg/rpgserver_s2/XMLData/Activity/ActivityCondition.xml: FAILED /opt/xyrpg/rpgserver_s2/XMLDat

c#用牛顿法计算根号下2的值

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace 牛顿法计算根号下2的值 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 double a = 0, b = 2, t = 0; 14

SQL按字段分组取最大(小)值记录(重复记录)

SQL Server 按某一字段分组 取 最大 (小)值所在行的数据 -- 按某一字段分组 取 最大 (小)值所在行的数据 -- (爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开) 2007-10-23于浙江杭州) /* 数据如下: name val memo a    2   a2(a的第二个值) a    1   a1--a的第一个值 a    3   a3:a的第三个值 b    1   b1--b的第一个值 b    3   b3:b的第三个值 b    2   b2b2b2b2 b   

jquery获得下拉框值的代码

jquery获得下拉框值的代码 获取Select : 获取select 选中的 text : $("#ddlRegType").find("option:selected").text(); 获取select选中的 value: $("#ddlRegType ").val(); 获取select选中的索引: $("#ddlRegType ").get(0).selectedIndex; 设置select: 设置select 选

js获取键盘按下的键值event.keyCode,event.charCode,event.which的兼容性

js获取键盘按下的键值有event.keyCode,event.charCode和event.which 其中: 谷歌浏览器对event.keyCode,event.charCode和event.which都兼容. 火狐浏览器对event.keyCode部分键值有效,如上下左右键(37,38,39,40),enter键(13),PgUp(33),PgDn(34)等部分有效,对数字键,字母键无效. event.which也是部分键值有效,如字母键,数字键,enter键,Backspace键等有效,