摘要: ~~~这是一篇有点长的文章,希望不会令你昏昏欲睡~~~ 本文主要讨论0.11版本之前Kafka的副本备份机制的设计问题以及0.11是如何解决的。简单来说,0.11之前副本备份机制主要依赖水位(或水印)的概念,而0.11采用了leader epoch来标识备份进度。后面我们会详细讨论两种机制的差异。不阅读全文
posted @ 2017-09-21 15:40 huxihx 阅读(234) 评论(9) 编辑
摘要: Flink提供了Kafka connector用于消费/生产Apache Kafka topic的数据。Flink的Kafka consumer集成了checkpoint机制以提供精确一次的处理语义。在具体的实现过程中,Flink不依赖于Kafka内置的消费组位移管理,而是在内部自行记录和维护con阅读全文
posted @ 2017-09-08 14:49 huxihx 阅读(95) 评论(0) 编辑
摘要: 本文结合一个具体的实例给出如何在公有云环境上配置Kafka broker与client之间的SSL设置。 测试环境 阿里云机一台(Server端):主机名是kafka1,负责运行单节点的Kafka集群。本文选择0.11.0.0版本 Mac笔记本一台(Client端):通过公网连接阿里云机器上的Kaf阅读全文
posted @ 2017-08-25 15:44 huxihx 阅读(161) 评论(0) 编辑
摘要: Kafka Security: SASL + PLAINTEXT + ACL实例阅读全文
posted @ 2017-08-17 16:47 huxihx 阅读(179) 评论(0) 编辑
摘要: 本文阐述如何使用Kafka自带的kafka-consumer-groups.sh脚本随意设置消费者组(consumer group)的位移。需要特别强调的是, 这是0.11.0.0版本提供的新功能且只适用于新版本consumer。 在新版本之前,如果要为已有的consumer group调整位移必须阅读全文
posted @ 2017-08-04 14:56 huxihx 阅读(192) 评论(0) 编辑
摘要: Apache Flink是新一代的分布式流式数据处理框架,它统一的处理引擎既可以处理批数据(batch data)也可以处理流式数据(streaming data)。在实际场景中,Flink利用Apache Kafka作为上下游的输入输出十分常见,本文将给出一个可运行的实际例子来集成两者。 1. 目阅读全文
posted @ 2017-07-23 19:52 huxihx 阅读(317) 评论(0) 编辑
摘要: 很多用户都有直接使用程序API操作Kafka集群的需求。在0.11版本之前,kafka的服务器端代码(即添加kafka_2.**依赖)提供了AdminClient和AdminUtils可以提供部分的集群管理操作,但社区官网主页并没有给出这两个类的使用文档。用户只能自行查看源代码和测试用例才能了解具体阅读全文
posted @ 2017-07-15 16:12 huxihx 阅读(350) 评论(0) 编辑
摘要: Kafka 0.11版本重新设计了消息以及消息集合,既支持了事务、精确一次处理语义和幂等producer等新功能,又提升了序列化效率节省了网络/磁盘IO。本文着重探讨新版本消息格式的设计与老版本的对比。阅读全文
posted @ 2017-07-06 15:17 huxihx 阅读(486) 评论(3) 编辑
摘要: Apache Kafka近日推出0.11版本。这是一个里程碑式的大版本,特别是Kafka从这个版本开始支持“exactly-once”语义(下称EOS, exactly-once semantics)。本文简要介绍一下0.11版本主要的功能变更,下面中的每一项都值得专门写篇文章好好聊聊。 一、修改u阅读全文
posted @ 2017-06-30 14:16 huxihx 阅读(380) 评论(1) 编辑
摘要: 在上一篇《Kafka Consumer多线程实例》中我们讨论了KafkaConsumer多线程的两种写法:多KafkaConsumer多线程以及单KafkaConsumer多线程。在第二种用法中我使用的是自动提交的方式,省去了多线程提交位移的麻烦。很多人跑来问如果是手动提交应该怎么写?由于Kafka阅读全文
posted @ 2017-06-28 15:33 huxihx 阅读(568) 评论(0) 编辑