kafka
文章平均质量分 61
L.ZZ
这个作者很懒,什么都没留下…
展开
-
kafka工作原理介绍
背景介绍Kafka简介 Kafka是一种分布式的,基于发布/订阅的消息系统。主要设计目标如下:以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间的访问性能高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条消息的传输支持Kafka Server间的消息分区,及分布式消费,同时保证每个partition内的消息顺序传输同时支持离线数据处...转载 2019-02-27 13:53:36 · 339 阅读 · 0 评论 -
Kafka0.8.2-1.0新特性
安全性:--0.9引入kafka集群提高了安全性,目前支持以下的安全措施broker使用SSL或SASL(Kerberos),验证客户端(生产者或消费者)、其他broker或工具的连接。支持以下的SASL机制:SASL/GSSAPI (Kerberos) - 从0.9.0.0版本开始SASL/PLAIN - 从0.10.0.0版本开始SASL/SCRAM-...转载 2019-02-27 14:00:50 · 304 阅读 · 0 评论 -
通过offsets.retention.minutes设置kafka offset的过期时间
前言本文记录博主如何设置kafka的offset过期时间并测试其效果1、offsets.retention.minutes通过修改offsets.retention.minutes的值即可改变kafka offset的过期时间,单位为分钟,改完之后需要重启kafka。具体的配置文件为$KAFKA_HOME/config/server.properties,原生的kafka配置文件里可能没有这个配...转载 2019-02-27 13:59:57 · 892 阅读 · 1 评论 -
Spark Streaming+Kafka提交offset实现有且仅有一次(exactly-once)
前言本文讲Spark Streamming使用Direct方式读取Kafka,并在输出(存储)操作之后提交offset到Kafka里实现程序读写操作有且仅有一次,即程序重启之后之前消费并且输出过的数据不再重复消费,接着上次消费的位置继续消费Kafka里的数据。Spark Streamming+Kafka官方文档:http://spark.apache.org/docs/latest/streami...转载 2019-02-27 13:59:45 · 479 阅读 · 0 评论 -
Spark Streaming 管理 Kafka Offsets 的方式探讨
Cloudera Engineering Blog 翻译:Offset Management For Apache Kafka With Apache Spark StreamingSpark Streaming 应用从Kafka中获取信息是一种常见的场景。从Kafka中读取持续不断的数据将有很多优势,例如性能好、速度快。然而,用户必须管理Kafka Offsets保证Spark Streami...转载 2019-02-27 13:59:23 · 151 阅读 · 0 评论 -
Kafka 如何读取offset topic内容 (__consumer_offsets)
1. 前言众所周知,由于Zookeeper并不适合大批量的频繁写入操作,新版Kafka已推荐将consumer的位移信息保存在Kafka内部的topic中,即__consumer_offsets topic,并且默认提供了kafka_consumer_groups.sh脚本供用户查看consumer信息。不过依然有很多用户希望了解__consumer_offsets topic内部到底保存了什...转载 2019-02-27 13:59:07 · 1728 阅读 · 1 评论 -
Kafka消费组(consumer group)详解
一直以来都想写一点关于kafka consumer的东西,特别是关于新版consumer的中文资料很少。最近Kafka社区邮件组已经在讨论是否应该正式使用新版本consumer替换老版本,笔者也觉得时机成熟了,于是写下这篇文章讨论并总结一下新版本consumer的些许设计理念,希望能把consumer这点事说清楚,从而对广大使用者有所帮助。在开始之前,我想花一点时间先来明确一些概念和术语,这...转载 2019-02-27 13:58:52 · 28316 阅读 · 2 评论 -
spark streaming从指定offset处消费Kafka数据
一. 前言当spark streaming程序意外退出时,数据仍然再往Kafka中推送,然而由于Kafka默认是从latest的offset读取,这会导致数据丢失。为了避免数据丢失,那么我们需要记录每次消费的offset,以便下次检查并且从指定的offset开始读取二. 环境kafka-0.9.0、spark-1.6.0、jdk-1.7、scala-2.10.5、idea16三. 实现代码...转载 2019-02-27 13:58:23 · 1967 阅读 · 1 评论 -
关于Kafka 的 consumer 消费者手动提交详解
前言在上一篇 Kafka使用Java实现数据的生产和消费demo 中介绍如何简单的使用kafka进行数据传输。本篇则重点介绍kafka中的 consumer 消费者的讲解。应用场景在上一篇kafka的consumer消费者,我们使用的是自动提交offset下标。但是offset下标自动提交其实在很多场景都不适用,因为自动提交是在kafka拉取到数据之后就直接提交,这样很容易丢失数据,尤其是...转载 2019-02-27 13:57:42 · 2721 阅读 · 1 评论 -
kafka消费者offset记录位置和方式
1. 前言kafka消费者在会保存其消费的进度,也就是offset,存储的位置根据选用的kafka-api不同而不同。2. zookeeper存储首先来说说消费者如果是根据java-api来消费,也就是kafka.javaapi.consumer.ConsumerConnector,通过配置参数zookeeper.connect来消费。这种情况下,消费者的offset会更新到zookeepe...原创 2019-02-27 13:57:26 · 9674 阅读 · 1 评论 -
Kafka HA Kafka一致性重要机制之ISR(kafka replica)
一、kafka replica当某个topic的replication-factor为N且N大于1时,每个Partition都会有N个副本(Replica)。kafka的replica包含leader与follower。Replica的个数小于等于Broker的个数,也就是说,对于每个Partition而言,每个Broker上最多只会有一个Replica,因此可以使用Broker id 指定...转载 2019-02-27 13:57:11 · 262 阅读 · 0 评论 -
Kafka权限认证ACL
1. kafka ACL权限bin/kafka-acls.sh --authorizer-properties zookeeper.connect=centos11:2181 --add --allow-principal User:Bob --allow-principal User:Alice --allow-host 198.51.100.0 --allow-host 198.51.100...原创 2019-02-27 13:54:58 · 3413 阅读 · 1 评论 -
深入理解Kafka消费者
问题导读:1.zookeeper在kafka的作用是什么?2.kafka中几乎不允许对消息进行“随机读写”的原因是什么?3.kafka集群consumer和producer状态信息是如何保存的?4.partitions设计的目的的根本原因是什么? 一、入门    1、简介    Kafka is a distributed,part...转载 2019-02-27 13:54:43 · 86 阅读 · 0 评论 -
Kafka相关概念
一、为什么需要消息系统1. 解耦: 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。2. 冗余: 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险。许多消息队列所采用的"插入-获取-删除"范式中,在把一个消息从队列中删除之前,需要你的处理系统明确的指出该消息已经被处理完毕,从而确保你的数据被安全的保存直到你使用完毕。3. 扩展性: 因为消息...原创 2019-02-27 11:34:47 · 105 阅读 · 0 评论 -
kafka各个版本的特性
kafka-0.8.2 新特性 producer不再区分同步(sync)和异步方式(async),所有的请求以异步方式发送,这样提升了客户端效率。producer请求会返回一个应答对象,包括偏移量或者错误信。这种异步方地批量的发送消息到kafka broker节点,因而可以减少server端资源的开销。新的producer和所有的服务器网络通信都是异步地,在ack=-1模式下需要等待所有的re...原创 2019-02-27 14:12:29 · 3116 阅读 · 0 评论