存储方式

方式 方式来源 存储位置
自动提交 kafka kafka
异步提交 kafka kafka
checkpoint spark streaming hdfs
hbase存储 程序开发 hbase
zookeeper存储 程序开发 zookeeper:
/consumers/[groupId]
/offsets/topic/[partitionId]
redis存储 程序开发 redis

以上,kafka本身的自动提交和异步提交受kafka本身稳定性影响较大;考虑到系统升级等影响,checkpoint不太稳定;zookeeper的存储与zookeeper服务频繁交互,影响zookeeper稳定性;redis存储易获取,但是对历史offset的存储不友好。使用hbase来存储offset较稳定,且可以存储多种信息,为避免延迟,可以让hbase仅存储一段时间内的offset,目前暂定30天,可根据topic\spark应用的多少进行调整。

hbase存储offset

  1. 存储30天数据,设置表的TTL为2592000=30*24*60*60
  2. 表结构设计
    • 列族 > i
    • rowkey > topic|消费者组名|时间戳
    • 列名 > partitionID/fromOffsetVal/utilOffsetVal

缺点

连接hbase并更新offset时,会有几秒的耗时,不太友好。

kafka offset存储的更多相关文章

  1. Kafka文件存储机制及partition和offset

    转载自:  https://yq.aliyun.com/ziliao/65771 参考:  Kafka集群partition replication默认自动分配分析    如何为kafka选择合适的p ...

  2. Kafka文件存储机制及offset存取

    Kafka是什么 Kafka是最初由Linkedin公司开发,是一个分布式.分区的.多副本的.多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx ...

  3. kafka offset的存储问题

    注意:从kafka-0.9版本及以后,kafka的消费者组和offset信息就不存zookeeper了,而是存到broker服务器上,所以,如果你为某个消费者指定了一个消费者组名称(group.id) ...

  4. kafka消费者offset存储策略

    由于 consumer 在消费过程中可能会出现断电宕机等故障,consumer 恢复后,需要从故 障前的位置的继续消费,所以 consumer 需要实时记录自己消费到了哪个 offset,以便故障恢 ...

  5. Kafka Offset Storage

    1.概述 目前,Kafka 官网最新版[0.10.1.1],已默认将消费的 offset 迁入到了 Kafka 一个名为 __consumer_offsets 的Topic中.其实,早在 0.8.2. ...

  6. kafka知识体系-kafka设计和原理分析-kafka文件存储机制

    kafka文件存储机制 topic中partition存储分布 假设实验环境中Kafka集群只有一个broker,xxx/message-folder为数据文件存储根目录,在Kafka broker中 ...

  7. Kafka文件存储机制那些事

    Kafka是什么 Kafka是最初由Linkedin公司开发,是一个分布式.分区的.多副本的.多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx ...

  8. Kafka文件存储机制

    一.topic中partition存储分布 在本地的kafka中,我们只启动一个broker,创建两个topic:single-todo和single-todo-vip ,每个topic有两个part ...

  9. Kafka日志存储原理

    引言 Kafka中的Message是以topic为基本单位组织的,不同的topic之间是相互独立的.每个topic又可以分成几个不同的partition(每个topic有几个partition是在创建 ...

随机推荐

  1. PHPstorm支持YAF框架代码自动提示

    文件下载地址:https://github.com/xudianyang/yaf.auto.complete 然后找到phpstorm     File->settings->Langua ...

  2. 关于redis的几件小事(七)redis缓存雪崩与穿透

    1.缓存雪崩 (1)什么是缓存雪崩 缓存雪崩指的是在同一时刻,缓存大量失效,导致大量的请求直接到了数据库,数据库压力剧增,引起系统崩溃.可能出现的情况有: ①大量的key设置了相同的过期时间,导致在缓 ...

  3. JQ向上取整 和向下取整 四舍五入

    向上取整   var a = 23.2325236   var abc = Math.ceil(a); //注意:Math.ceil(a)不要单独写一行,否则向上取整失败   abc = 24;   ...

  4. iOS去掉字符串中的HTML标签的方法

    方法一.NSScanner去除标签 - (NSString *)removeTheHtmlFromString:(NSString *)htmlString { NSScanner * scanner ...

  5. 黑马java课程视频java学习视频

    资料获取方式,关注公总号RaoRao1994,查看往期精彩-所有文章,即可获取资源下载链接 更多资源获取,请关注公总号RaoRao1994

  6. IE浏览器清除缓存及历史浏览数据

    IE浏览器清除缓存方法如下: 打开IE浏览器,依次点击"工具-Internet选项-常规-删除",如下图所示, 有的时候发现你明明已经执行了删除,但是实际上还是有缓存数据,一般是因 ...

  7. Ubuntu中用bitbake core-image-minimal时,出错:from bb import data

    问题描述: 在准备ARM交叉编译环境时,执行完命令: DISTRO=fsl-imx-x11 MACHINE=imx6qsabresd source fsl-setup-release.sh -b bu ...

  8. python的isocalender()

    isocalender()返回指定日期的年,第几周,周几这三个值. 例子: import date date_time = datetime.date(2019, 5, 9) ret = date_t ...

  9. 表单的 submit 和 onsubmit 的用法 与区别

    submit与onsubmit 发生顺序:onsubmit -> submit 1.阻止表单提单: <script>function submitFun(){    //逻辑判断   ...

  10. Atcoder Regular 099 暴力区间扩张 n/dig(n)极值打表 团分割背包

    C 直接把第一次加在哪里for一遍即可 /*Huyyt*/ #include<bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof(a)) u ...