文件名称:各大数据组件介绍.pdf
文件大小:242KB
文件格式:PDF
更新时间:2022-12-24 11:31:12
文档资料
各⼤数据组件介绍 ⼀、zookeeper ZooKeeper是⼀个的,开放源码的协调服务,是的Chubby⼀个的实现,是Hadoop和Hbase的重要组件。它是⼀个为分布式应⽤提供⼀致 性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 ZooKeeper的⽬标就是封装好复杂易出错的关键服务,将简单易⽤的接⼝和性能⾼效、功能稳定的系统提供给⽤户。 ZooKeeper包含⼀个简单的原语集,[1] 提供Java和C的接⼝。 ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接⼝,代码在zookeeper-3.4.3\src\recipes。其中分布锁和队列有和C两个版 本,选举只有Java版本。(概述图⽚来源:[2] ) 那么Zookeeper能做什么事情呢,简单的例⼦:假设我们有20个的(每个负责总索引中的⼀部分的搜索任务)和⼀个总服务器(负责向这20个 搜索引擎的服务器发出搜索请求并合并结果集),⼀个备⽤的总服务器(负责当总服务器宕机时替换总服务器),⼀个web的cgi(向总服务器发 出搜索请求)。搜索引擎的服务器中的15个服务器提供搜索服务,5个服务器正在⽣成索引。这20个搜索引擎的服务器经常要让正在提供搜索 服务的服务器停⽌提供服务开始⽣成索引,或⽣成索引的服务器已经把索引⽣成完成可以提供搜索服务了。使⽤Zookeeper可以保证总服务 器⾃动感知有多少提供搜索引擎的服务器并向这些服务器发出搜索请求,当总服务器宕机时⾃动启⽤备⽤的总服务器。 ⼆、spark Apache Spark 是专为⼤规模数据处理⽽设计的快速通⽤的计算引擎。Spark是UC Berkeley AMP lab (加州⼤学伯克利分校的AMP实验 室)所开源的类Hadoop MapReduce的通⽤并⾏框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是—— Job中间输出结果可以保存在内存中,从⽽不再需要读写HDFS,因此Spark能更好地适⽤于数据挖掘与机器学习等需要迭代 的MapReduce的算法。 Spark 是⼀种与 相似的开源集群计算环境,但是两者之间还存在⼀些不同之处,这些有⽤的不同之处使 Spark 在某些⼯作负载⽅⾯表现得 更加优越,换句话说,Spark 启⽤了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代⼯作负载。 Spark 是在 语⾔中实现的,它将 Scala ⽤作其应⽤程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作 本地集合对象⼀样轻松地操作分布式数据集。 Spark 主要有三个特点[2] : ⾸先,⾼级 API 剥离了对集群本⾝的关注,Spark 应⽤开发者可以专注于应⽤所要做的计算本⾝。 其次,Spark 很快,⽀持交互式计算和复杂算法。 最后,Spark 是⼀个通⽤引擎,可⽤它来完成各种各样的运算,包括 SQL 查询、⽂本处理、机器学习等,⽽在 Spark 出现之前,我们⼀般 需要学习各种各样的引擎来分别处理这些需求。 三、kafka Kafka是由开发的⼀个开源流处理平台,由和编写。Kafka是⼀种⾼吞吐量的发布订阅消息系统,它可以处理消费者规模的⽹站中的所有动 作流数据。 这种动作(⽹页浏览,搜索和其他⽤户的⾏动)是在现代⽹络上的许多社会功能的⼀个关键因素。 这些数据通常是由于吞吐量 的要求⽽通过处理⽇志和⽇志聚合来解决。 对于像的⼀样的数据和离线分析系统,但⼜要求实时处理的限制,这是⼀个可⾏的解决⽅案。 Kafka的⽬的是通过的并⾏加载机制来统⼀线上和离线的消息处理,也是为了通过来提供实时的消费。 特性: 通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。 ⾼吞吐量 :即使是⾮常普通的硬件Kafka也可以⽀持每秒数百万的消息。 ⽀持通过Kafka服务器和消费机集群来分区消息。 ⽀持并⾏数据加载。 术语介绍: Broker Kafka集群包含⼀个或多个服务器,这种服务器被称为broker[5] Topic 每条发布到Kafka集群的消息都有⼀个类别,这个类别被称为Topic。(物理上不同Topic的消息分开存储,逻辑上⼀个Topic的消息虽然保 存于⼀个或多个broker上但⽤户只需指定消息的Topic即可⽣产或消费数据⽽不必关⼼数据存于何处) Partition Partition是物理上的概念,每个Topic包含⼀个或多个Partition. Producer 负责发布消息到Kafka broker Consumer 消息消费者,向Kafka broker读取消息的客户端。 Consumer Group 每个Co