Cloudera hadoop 大数据平台实战指南(10)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.什么是kafka?传统的日志分析系统提供了一种离线处理日志信息的可扩展
方案,若要进行实时处理,通常会有较大延迟。而现有的消息(队列)系统能够很好地处理实时或者近似实时的应用,但未处理的数据通常不会写到磁盘上,这对于 Hadoop 之类(一小时或者一天只处理一部分数据)的离线应用而言可能存在问题。 Kafka 正是为了解决以上问题而设计的,它能够很好地支持离线和在线应用。
2.kafka的基本架构?
从架构图可以看出,生产者 Producer、缓存代理 Broker 和消费者 Consumer 都可以有多个。 Producer 和 Consumer 实现 Kafka 注册的接口,数据从 Producer 发送到 Broker, Broker 承担一个中间缓存和分发的作用。 Broker 分发注册到系统中的 Consumer。 Broker 的作用类似于缓存,即活跃的数据和离线处理系统之间的缓存。客户端和服务器端的通信是基于简单的、高性能的且与编程语言无关的 TCP 协议。
Kafka 使用 ZooKeeper 作为其分布式协调框架,其动态扩容扩容是通过
ZooKeeper 来实现的。
3.kafka的基本概念?数据发生器(如 Facebook、 Twitter)产生的数据会被单个地运行在其服务器上的 Agent 所收集,之后数据收集器从各个 Agent 上汇集数据,并将采集到的数据存入 HDFS 或者 HBase 中。这个过程涉及以下几个基本概念。(1) Topic:特指 Kafka 处理的消息源的不同分类。(2) Partition: Topic 物理上的分组,一个 Topic 可以分为多个 Partition,每个 Partition 是一个有序的队列。Partition 中的每条消息都会被分配一个有序的 id。(3) Message:消息,是通信的基本单位。每个 Producer 可以向一个 Topic(主题)发布一些消息。(4)Producer:消息和数据生产者。向 Kafka 的一个 Topic 发布消息的过程叫作Producer。(5) Consumer:消息和数据消费者。订阅 Topics 并处理其发布的
消息的过程叫作 Consumer。(6) Broker:缓存代理。 Kafka 集群中的一台或多台服务器统称为 Broker。一台 Kafka 服务器就是一个 Broker。一个集群由多个Broker 组成,一个 Broker 可以容纳多个 Topic。