ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

1.大数据概述

2022-02-28 11:33:41  阅读:123  来源: 互联网

标签:Hadoop 容错性 概述 计算 Spark 数据 分布式


1.列举Hadoop生态的各个组件及其功能、以及各个组件之间的相互关系,以图呈现并加以文字描述。

(1)HDFS——分布式文件系统  

除具备其它分布式文件系统相同特性外,还有自己的特性:①高容错性:认为硬件总是不可靠的 ②高吞吐量:为大量数据访问的应用提供高吞吐量支持 ③大文件存储:支持存储TB-PB级别的数据。

 

(2)MapReduce——分布式计算框架

面向大数据并行处理的计算模型、框架和平台。特点:①易于编程:程序员仅需描述做什么,具体怎么做交由系统的执行框架处理。②良好的扩展性:可通过添加节点以扩展集群能力。③高容错性:当某些节点发生故障时,通过计算迁移或数据迁移等策略在其他节点继续执行任务,提高集群的可用性与容错性。

 

(3)YARN——资源管理器

是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了

巨大好处。

 

(4)HBase——分布式列存数据库

是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。适合于存储大表数据,并且对大表数据的读、写访问可以达到实时级别。利用Hadoop HDFS作为其文件存储系统,提供实时读写的分布式数据库系统。利用ZooKeeper作为协同服务。

 

(5)Hive——仓库数据软件

可以查询和管理PB级别的分布式数据。特性:①灵活方便的ETL。②支持MapReduce,Tez,Spark等多种计算引擎。③可直接访问HDFS文件以及HBase。④易用易编程。

 

(6)zookeeper——分布式协作服务

解决分布式环境下的数据管理问题:统一命名,状态同步,集群管理,配置同步等。

 

(7)flume——日志收集工具

是一个分布式、可靠和高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方的能力。

 

 

2.对比Hadoop与Spark的优缺点。

Hadoop

优点:

1)       可靠性: Hadoop将数据存储在多个备份,Hadoop提供高吞吐量来访问应用程序的数据。

2)       高扩展性: Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。

3)       高效性: Hadoop以并行的方式工作,通过并行处理加快处理速度。

4)       高容错性: Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。

5)       低成本: Hadoop能够部署在低廉的(low-cost)硬件上。

缺点:

1)       表达能力有限

2)       磁盘IO开销大

3)       延迟高

任务之间的衔接涉及IO开销

在前一个任务执行完成之前,其他任务就无法开始,难以胜任复杂、多阶段的计算任务

 

Spark

优点

1)       轻:Spark核心代码有3万行。Scala语言的简洁和丰富表达力。巧妙利用了Hadoop和Mesos的基础设施。

2)       快:Spark对小数据集可达到亚秒级的延迟。对大数据集的迭代机器学习即席查询、图计算等应用,Spark 版本比基于MapReduce、Hive和Pregel的实现快。内存计算、数据本地性和传输优化、调度优化。

3)       灵:Spark提供了不同层面的灵活性。Scala语言trait动态混入策略。允许扩展新的数据算子、新的数据源、新的language bindings。Spark支持内存计算、多迭代批量处理、即席查询、流处理和图计算等多种范式。

4)       巧:巧妙借力现有大数据组件。Spark借Hadoop之势,与Hadoop无缝结合。图计算借用Pregel和PowerGraph的API以及PowerGraph的点分割思想。

缺点

1)       稳定性方面,由于代码质量问题,Spark长时间运行会经常出错,在架构方面,由于大量数据被缓存在RAM中,Java回收垃圾缓慢的情况严重,导致Spark性能不稳定,在复杂场景中SQL的性能甚至不如现有的Map/Reduce。

2)       不能处理大数据,单独机器处理数据过大,或者由于数据出现问题导致中间结果超过RAM的大小时,常常出现RAM空间不足或无法得出结果。然而,Map/Reduce运算框架可以处理大数据,在这方面,Spark不如Map/Reduce运算框架有效。

3)       不能支持复杂的SQL统计;目前Spark支持的SQL语法完整程度还不能应用在复杂数据分析中。

 

3.如何实现Hadoop与Spark的统一部署?

一方面,由于Hadoop生态系统中的一些组件所实现的功能,目前还是无法由Spark取代的,比如,Storm可以实现毫秒级响应的流计算,但是,Spark则无法做到毫秒级响应。

另一方面,企业中已经有许多现有的应用,都是基于现有的Hadoop组件开发的,完全转移到Spark上需要一定的成本。因此,在许多企业实际应用中,Hadoop和Spark的统一部署是一种比较现实合理的选择。

标签:Hadoop,容错性,概述,计算,Spark,数据,分布式
来源: https://www.cnblogs.com/Hjianbin/p/15944543.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有