欢迎关注Hadoop、Spark、Flink、Hive、Hbase、Flume等大数据资料分享微信公共账号:iteblog_hadoop
  1. 文章总数:1013
  2. 浏览总数:12,643,133
  3. 评论:4033
  4. 分类目录:106 个
  5. 注册用户数:6491
  6. 最后更新:2019年3月20日
过往记忆博客公众号iteblog_hadoop
欢迎关注微信公众号:
iteblog_hadoop
大数据技术博客公众号bigdata_ai
大数据猿:
bigdata_ai

 分类:Kafka

Spark Streaming kafka实现数据零丢失的几种方式

Spark Streaming kafka实现数据零丢失的几种方式
  在使用Spark streaming消费kafka数据时,程序异常中断的情况下发现会有数据丢失的风险,本文简单介绍如何解决这些问题。  在问题开始之前先解释下流处理中的几种可靠性语义:  1、At most once - 每条数据最多被处理一次(0次或1次),这种语义下会出现数据丢失的问题;  2、At least once - 每条数据最少被处理一次 (1

w397090770   3年前 (2016-07-26) 8788℃ 3评论16喜欢

Kafka在LinkedIn公司的使用及维护实战

Kafka在LinkedIn公司的使用及维护实战
  Apache Kafka在LinkedIn和其他公司中是作为各种数据管道和异步消息的后端。Netflix和Microsoft公司作为Kafka的重量级使用者(Four Comma Club,每天万亿级别的消息量),他们在Kafka Summit的分享也让人受益良多。  虽然Kafka有着极其稳定的架构,但是在每天万亿级别消息量的大规模下也会偶尔出现有趣的bug。在本篇文章以及以后的几篇

w397090770   3年前 (2016-07-20) 3933℃ 1评论6喜欢

Apache Kafka 0.10.0.0稳定版发布及其新特性介绍

Apache Kafka 0.10.0.0稳定版发布及其新特性介绍
Apache Kafka 0.10.0.0于美国时间2016年5月24日正式发布。Apache Kafka 0.10.0.0是Apache Kafka的主要版本,此版本带来了一系列的新特性和功能加强。本文将对此版本的重要点进行说明。Kafka StreamsKafka Streams在几个月前由Confluent Platform首先在其平台的技术预览中行提出,目前已经在Apache Kafka 0.10.0.0上可用了。Kafka Streams其实是一套类库,它使

w397090770   3年前 (2016-05-25) 10994℃ 0评论23喜欢

通过编程方式获取Kafka中Topic的Metadata信息

通过编程方式获取Kafka中Topic的Metadata信息
  如果我们需要通过编程的方式来获取到Kafka中某个Topic的所有分区、副本、每个分区的Leader(所在机器及其端口等信息),所有分区副本所在机器的信息和ISR机器的信息等(特别是在使用Kafka的Simple API来编写SimpleConsumer的情况)。这一切可以通过发送TopicMetadataRequest请求到Kafka Server中获取。代码片段如下所示:[code lang="scala"]de

w397090770   3年前 (2016-05-09) 4498℃ 0评论3喜欢

使用Flink读取Kafka中的消息

使用Flink读取Kafka中的消息
  本文将介绍如何通过Flink读取Kafka中Topic的数据。  和Spark一样,Flink内置提供了读/写Kafka Topic的Kafka连接器(Kafka Connectors)。Flink Kafka Consumer和Flink的Checkpint机制进行了整合,以此提供了exactly-once处理语义。为了实现这个语义,Flink不仅仅依赖于追踪Kafka的消费者group偏移量,而且将这些偏移量存储在其内部用于追踪。  和Sp

w397090770   3年前 (2016-05-03) 12724℃ 1评论17喜欢

如何手动更新Kafka中某个Topic的偏移量

如何手动更新Kafka中某个Topic的偏移量
  本文将介绍如何手动更新Kafka存在Zookeeper中的偏移量。我们有时候需要手动将某个主题的偏移量设置成某个值,这时候我们就需要更新Zookeeper中的数据了。Kafka内置为我们提供了修改偏移量的类:kafka.tools.UpdateOffsetsInZK,我们可以通过它修改Zookeeper中某个主题的偏移量,具体操作如下:[code lang="bash"][iteblog@www.iteblog.com ~]$ bin/ka

w397090770   3年前 (2016-04-19) 11674℃ 0评论11喜欢

Kafka如何动态增加Topic的副本(Replication)

Kafka如何动态增加Topic的副本(Replication)
  在前面的文章《Kafka集群扩展以及重新分布分区》中,我们将介绍如何通过Kafka自带的工具来增加Topic的分区数量。本文将简单地介绍如何通过Kafka自带的工具来动态增加Tpoic的副本数。首先来看看我们操作的Topic相关的信息[iteblog@www.iteblog.com ~]$ kafka-topics.sh --topic iteblog --describe --zookeeper www.iteblog.com:2181Topic:iteblog PartitionCount:2

w397090770   3年前 (2016-04-18) 7676℃ 0评论9喜欢

如何移动Kafka部分分区的数据

如何移动Kafka部分分区的数据
  在《Kafka集群扩展以及重新分布分区》文章中我们介绍了如何重新分布分区,在那里面我们基本上把所有的分区全部移动了,其实我们完全没必要移动所有的分区,而移动其中部分的分区。比如我们想把Broker 1与Broker 7上面的分区数据互换,如下图所示:可以看出,只有Broker 1与Broker 7上面的分区做了移动。来看看移动分区之

w397090770   3年前 (2016-03-31) 2369℃ 0评论3喜欢

Key为null时Kafka如何选择分区(Partition)

Key为null时Kafka如何选择分区(Partition)
我们往Kafka发送消息时一般都是将消息封装到KeyedMessage类中:[code lang="scala"]val message = new KeyedMessage[String, String](topic, key, content)producer.send(message)[/code]Kafka会根据传进来的key计算其分区ID。但是这个Key可以不传,根据Kafka的官方文档描述:如果key为null,那么Producer将会把这条消息发送给随机的一个Partition。If the key is null, the

w397090770   3年前 (2016-03-30) 10713℃ 0评论9喜欢

Kafka Producer是如何动态感知Topic分区数变化

Kafka Producer是如何动态感知Topic分区数变化
  我们都知道,使用Kafka Producer往Kafka的Broker发送消息的时候,Kafka会根据消息的key计算出这条消息应该发送到哪个分区。默认的分区计算类是HashPartitioner,其实现如下:[code lang="scala"]class HashPartitioner(props: VerifiableProperties = null) extends Partitioner { def partition(data: Any, numPartitions: Int): Int = { (data.hashCode % numPartitions) }}[/code]

w397090770   3年前 (2016-03-29) 5225℃ 0评论4喜欢