《基于新信息技术的Hadoop大数据技术》 课件 项目13、14 Kafka分布式集群搭建、 Davinci安装部署.pptx

《基于新信息技术的Hadoop大数据技术》 课件 项目13、14 Kafka分布式集群搭建、 Davinci安装部署.pptx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

Hadoop大数据技术——Kafka分布式集群搭建

湖南软件职业技术大学Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala语言编写,它以可水平扩展和高吞吐率的特点而被广泛使用。目前越来越多的开源分布式处理系统,如Spark、Flink都支持与Kafka集成。比如一个实时日志分析系统,Flume采集数据通过接口传输到Kafka集群(多台Kafka服务器组成的集群称为Kafka集群),然后Flink或者Spark直接调用接口从Kafka实时读取数据并进行统计分析。Kafka概述持KafkaServer间的消息分区,以及分布式消息消费,同时保证每个Partition内的消息顺序传输。支持离线数据处理和实时数据处理。保证高吞吐率,即使在非常廉价的商用机器上,也能做到单机支持每秒100,000条消息的传输速度。以时间复杂度为O(1)的方式提供消息持久化(Kafka)能力,即使对TB级以上数据也能保证常数时间的访问性能。持久化是将程序数据在持久状态和瞬时状态间转换的机制。通俗地讲,就是瞬时数据(比如内存中的数据是不能永久保存的)持久化为持久数据(比如持久化至磁盘中能够长久保存)。Kafka设计目标Kafka设计目标湖南软件职业技术大学

Kafka特点高吞吐量、低延迟:Kafka?每秒可以处理几十万条消息,它的延迟最低只有几毫秒。可扩展性:Kafka集群同Hadoop集群一样,支持横向扩展。持久性、可靠性:Kafka消息可以被持久化到本地磁盘,并且支持Partition数据备份,防止数据丢失。容错性:允许Kafka集群中的节点失败,如果Partition(分区)副本数量为n,则最多允许n-1个节点失败。高并发:单节点支持上千个客户端同时读写,每秒钟有上百MB的吞吐量,基本上达到了网卡的极限。Kafka特点0102030405湖南软件职业技术大学

Kafka构架设计湖南软件职业技术大学一个典型的Kafka集群包括若干生产者(producer)、若干Kafka集群节点(Broker)、若干消费者(Consumer)以及一个Zookeeper集群。Kafka通过Zookeeper管理集群配置,选举leader并在消费者发生变化时进行负载均衡。生产者使用推(push)模式将消息发布到集群节点,而消费者使用拉(Pull)模式从集训节点中订阅并消费消息。Kafka的整体构架如图所示。

Kafka构架设计湖南软件职业技术大学Topic和PartitionKafka集群中的主题(Topic)和分区(Partition)示意结构如图所示。主题和分区的具体定义如下。(1)主题是生产者发布到Kafka集群的每条信息所属的类别,即Kafka是面向主题,一个主题可以分布在多个节点上(2)分区是Kafka集群横向扩展和一切并行化的基础,每个Topic可以被切分为一个或多个分区。一个分区对应一个集群节点,每个分区的内部消息是强有序的。(3)Offset(偏移量)是消费者在分区中的编号,每个分区中的编号是独立。

Kafka构架设计湖南软件职业技术大学消费者和消费者组消费者和消费者组的具体定义如下。(1)从Kafka集群中消费信息的终端或服务都数据消费者,消费者自己维护消费数据的offset,而offset保存在Zookeeper中(Kafka0.0版本以后,offset存储在Kafka集群中),这就保证了它的高可用。每个消费者都有自己对应的消费者组。(2)每个消费者都有与自己相对应的消费者组,同一个消费者组中,每个消费者消费不同的分区,消费者组之间相互不干扰,独立消费Kafka集群中的消息。

LeaderFollowerISR每个Replica集合中的分区都会选出一个唯一的Leader,所有的读写请求都由Leader处理,其他副本从Leader处把数据更新同步到本地。是副本中的另外一个角色,可以从Leader中复制数据Kafka集群通过数据冗余来实现容错。每个分区都会有一个Leader,以及零个或多个Follower,Leader加上Follower总和就是副本因子。Follower与Leader之间的数据同步是通过Follower主动拉取Leader上面的消息来实现的。所有的Follower不可能与Leader中的数据一直保持同步,那么与Leader数据保持同步的这些Follower称为ISR(InSyncReplica)。Zookeeper维护着每个分区的Leader信息和ISR信息。Replica是分区的副本。Kafka支持以分区为单位对message进行冗余备份,每个分区都可以配置至少1个副本。与副

您可能关注的文档

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档