kafka offset存储
存储方式
| 方式 | 方式来源 | 存储位置 | 
|---|---|---|
| 自动提交 | 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
- 存储30天数据,设置表的TTL为2592000=30*24*60*60
- 表结构设计
- 列族 > i
- rowkey > topic|消费者组名|时间戳
- 列名 > partitionID/fromOffsetVal/utilOffsetVal
 
缺点
连接hbase并更新offset时,会有几秒的耗时,不太友好。
kafka offset存储的更多相关文章
- Kafka文件存储机制及partition和offset
		转载自: https://yq.aliyun.com/ziliao/65771 参考: Kafka集群partition replication默认自动分配分析 如何为kafka选择合适的p ... 
- Kafka文件存储机制及offset存取
		Kafka是什么 Kafka是最初由Linkedin公司开发,是一个分布式.分区的.多副本的.多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx ... 
- kafka offset的存储问题
		注意:从kafka-0.9版本及以后,kafka的消费者组和offset信息就不存zookeeper了,而是存到broker服务器上,所以,如果你为某个消费者指定了一个消费者组名称(group.id) ... 
- kafka消费者offset存储策略
		由于 consumer 在消费过程中可能会出现断电宕机等故障,consumer 恢复后,需要从故 障前的位置的继续消费,所以 consumer 需要实时记录自己消费到了哪个 offset,以便故障恢 ... 
- Kafka Offset Storage
		1.概述 目前,Kafka 官网最新版[0.10.1.1],已默认将消费的 offset 迁入到了 Kafka 一个名为 __consumer_offsets 的Topic中.其实,早在 0.8.2. ... 
- kafka知识体系-kafka设计和原理分析-kafka文件存储机制
		kafka文件存储机制 topic中partition存储分布 假设实验环境中Kafka集群只有一个broker,xxx/message-folder为数据文件存储根目录,在Kafka broker中 ... 
- Kafka文件存储机制那些事
		Kafka是什么 Kafka是最初由Linkedin公司开发,是一个分布式.分区的.多副本的.多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx ... 
- Kafka文件存储机制
		一.topic中partition存储分布 在本地的kafka中,我们只启动一个broker,创建两个topic:single-todo和single-todo-vip ,每个topic有两个part ... 
- Kafka日志存储原理
		引言 Kafka中的Message是以topic为基本单位组织的,不同的topic之间是相互独立的.每个topic又可以分成几个不同的partition(每个topic有几个partition是在创建 ... 
随机推荐
- 福建工程学院第十四届ACM校赛M题题解 fwt进阶,手推三进制fwt
			第九集,结束亦是开始 题意: 大致意思就是给你n个3进制的数字,让你计算有多少对数字的哈夫曼距离等于i(0<=i<=2^m) 思路: 这个是一个防ak题,做法是要手推公式的fwt 大概就这 ... 
- redis 学习(12)-- redis 发布订阅
			redis 发布订阅 发布订阅模式中的角色 发布者(publisher) 订阅者(subscriber) 频道(channel) 如图所示: 发布者发布消息到频道,订阅了频道的订阅者可以收到消息,订阅 ... 
- js注册实现
			<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ... 
- 05 Django之模型层---单表操作
			一 ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人 ... 
- linux CUDA安装
			首先是安装依赖库 sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-m ... 
- 内存不足导致mysql关闭,CentOS6.5增加swap分区
			某日发现mysql自动关闭了,查找错误日志发现以下错误 2017-07-14 13:07:30 5494 [Note] InnoDB: Initializing buffer pool, size = ... 
- 外星人电脑出现the system is running in low graphics mode的解决方法
			问题现象: 执行删除GCC5.4.0: sudo apt-get remove gcc gcc-5重启电脑后,就显示the system is running in low graphics mod ... 
- 基于mini2440嵌入式Linux根文件系统制作(Initramfs和nfs两种跟文件系统)
			嵌入式系统由三部分构成: 1.bootoader---bootparameters---2.kernel 3.Root-filesysytem 一个内核可以挂载多个文件系统,但是有一个根文件系统所以叫 ... 
- spring中对JDO的配置
			<!-- persistenceManagerFactory --> <bean id="myPmf" class="org.springframewo ... 
- jquery前端问题随记
			1.图片名称不变,但要求刷新,web页面不重新加载渲染,在url地址后面加t=时间戳 js脚本 img.src=url+"?t="+Math.random() 如果是jsp页面,要 ... 
