热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Hadoop核心生态

本文来说下Hadoop的核心生态知识文章目录概述分布式文件系统分布式计算框架优缺点概述导读:如今,一提到大数据技术,人们首先想到的是Had

本文来说下Hadoop的核心生态知识



文章目录

  • 概述
  • 分布式文件系统
  • 分布式计算框架
  • 优缺点




概述


导读:如今,一提到大数据技术,人们首先想到的是Hadoop,它俨然已成为大数据的代名词。然而,大数据技术在Hadoop出现之前很多年就出现了。但那时候,大数据只是谷歌、亚马逊等大公司才能开展起来的高端技术。正是Hadoop的出现,降低了分布式大数据的技术门槛,使得千千万万普通的公司也能开展大数据业务,进而促进大数据技术逐渐发展起来。


Hadoop是一个由Apache基金会开发的分布式系统基础架构。开发人员可以在不了解分布式底层细节的情况下开发分布式程序,充分利用集群的威力进行高速并行运算以及海量数据的分布式存储。Hadoop大数据技术架构如图1所示。

在这里插入图片描述

然而,Hadoop不是一个孤立的技术,而是一套完整的生态圈,如图2所示。在这个生态圈中,Hadoop最核心的组件就是分布式文件系统HDFS和分布式计算框架MapReduce。HDFS为海量的数据提供了存储,是整个大数据平台的基础,而MapReduce则为海量的数据提供了计算能力。在它们之上有各种大数据技术框架,包括数据仓库Hive、流式计算Storm、数据挖掘工具Mahout和分布式数据库HBase。此外,ZooKeeper为Hadoop集群提供了高可靠运行的框架,保证Hadoop集群在部分节点宕机的情况下依然可靠运行。Sqoop与Flume分别是结构化与非结构化数据采集工具,通过它们可以将海量数据抽取到Hadoop平台上,进行后续的大数据分析。

在这里插入图片描述
Cloudera与Hortonworks是大数据的集成工具,它们将大数据技术的各种组件集成在一起,简化安装、部署等工作,并提供统一的配置、管理、监控等功能。Oozie是一个业务编排工具,我们将复杂的大数据处理过程解耦成一个个小脚本,然后用Oozie组织在一起进行业务编排,定期执行与调度。




分布式文件系统

过去,我们用诸如DOS、Windows、Linux、UNIX等许多系统来在计算机上存储并管理各种文件。与它们不同的是,分布式文件系统是将文件散列地存储在多个服务器上,从而可以并行处理海量数据。

Hadoop的分布式文件系统HDFS如图3所示,它首先将服务器集群分为名称节点(NameNode)与数据节点(DataNode)。名称节点是控制节点,当需要存储数据时,名称节点将很大的数据文件拆分成一个个大小为128MB的小文件,然后散列存储在其下的很多数据节点中。当Hadoop需要处理这个数据文件时,实际上就是将其分布到各个数据节点上进行并行处理,使性能得到大幅提升。

在这里插入图片描述
同时,每个小文件在存储时,还会进行多节点复制(默认是3节点复制),一方面可以并行读取数据,另一方面可以保障数据的安全,即任何一个节点失效,数据都不会丢失。当一个节点宕机时,如果该节点的数据不足3份,就会立即发起数据复制,始终保持3节点的复制。正因为具有这样高可靠的文件存储,Hadoop的部署不需要备份,也不需要磁盘镜像,在Hadoop集群的各个节点中挂载大容量的磁盘并配置Raid0就可以了。




分布式计算框架

Hadoop的另一个关键组件是分布式计算框架MapReduce,它将海量数据的处理分布到许多数据节点中并行进行,从而提高系统的运行效率。

MapReduce计算词频的处理过程如图4所示。在这个过程中,首先输入要处理的数据文件,经过Splitting将其拆分到各个节点中,并在这些节点的本地执行Mapping,将其制作成一个Map。不同的任务可以设计不同的Map。譬如,现在的任务是计算词频,因此该Map的key是不同的词,value是1。这样,在后续的处理过程中,将相同词的1加在一起就是该词的词频了。

在这里插入图片描述

Mapping操作执行完以后,就开始Shuffling操作。它是整个执行过程中效率最差的部分,需要在各个节点间交换数据,将同一个词的数据放到同一个节点上。如何有效地降低交换的数据量成为优化性能的关键。接着,在每个节点的本地执行Reducing操作,将同一个词的这些1加在一起,就得到了词频。最后,将分布在各个节点的结果集中到一起,就可以输出了。

整个计算有6个处理过程,那么为什么它的名字叫MapReduce呢?因为其他处理过程都被框架封装了,开发人员只需要编写Map和Reduce过程就能完成各种各样的数据处理。这样,技术门槛降低了,大数据技术得以流行起来。




优缺点

与传统的数据库相比,MapReduce分布式计算虽然有无与伦比的性能优势,但并不适用于所有场景。MapReduce没有索引,它的每次计算都是“暴力全扫描”,即将整个文件的所有数据都扫描一遍。如果要分析的结果涉及该文件80%以上的数据,与关系型数据库相比,能获得非常优异的性能。如果只是为了查找该文件中的某几十条记录,那么它既耗费资源,性能也没有关系型数据库好。因此,MapReduce的分布式计算更适合在后台对批量数据进行离线计算,即一次性对海量数据进行分析、整理与运算。它并不适用于在前台面向终端用户的在线业务、事务处理与随机查询。

同时,MapReduce更适合对大数据文件的处理,而不适合对海量小文件的处理。因此,当要处理海量的用户文档、图片、数据文件时,应当将其整合成一个大文件(序列文件),然后交给MapReduce处理。唯有这样才能充分发挥MapReduce的性能。


推荐阅读
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • SSAS入门指南:基础知识与核心概念解析
    ### SSAS入门指南:基础知识与核心概念解析Analysis Services 是一种专为决策支持和商业智能(BI)解决方案设计的数据引擎。该引擎能够为报告和客户端应用提供高效的分析数据,并支持在多维数据模型中构建高性能的分析应用。通过其强大的数据处理能力和灵活的数据建模功能,Analysis Services 成为了现代 BI 系统的重要组成部分。 ... [详细]
  • 在前一篇文章《Hadoop》系列之“踽踽独行”(二)中,我们详细探讨了云计算的核心概念。本章将重点转向物联网技术,全面解析其基本原理、应用场景及未来发展前景。通过深入分析物联网的架构和技术栈,我们将揭示其在智能城市、工业自动化和智能家居等领域的广泛应用潜力。此外,还将讨论物联网面临的挑战,如数据安全和隐私保护等问题,并展望其在未来技术融合中的重要角色。 ... [详细]
  • 本文深入探讨了NoSQL数据库的四大主要类型:键值对存储、文档存储、列式存储和图数据库。NoSQL(Not Only SQL)是指一系列非关系型数据库系统,它们不依赖于固定模式的数据存储方式,能够灵活处理大规模、高并发的数据需求。键值对存储适用于简单的数据结构;文档存储支持复杂的数据对象;列式存储优化了大数据量的读写性能;而图数据库则擅长处理复杂的关系网络。每种类型的NoSQL数据库都有其独特的优势和应用场景,本文将详细分析它们的特点及应用实例。 ... [详细]
  • 2021年Java开发实战:当前时间戳转换方法详解与实用网址推荐
    在当前的就业市场中,金九银十过后,金三银四也即将到来。本文将分享一些实用的面试技巧和题目,特别是针对正在寻找新工作机会的Java开发者。作者在准备字节跳动的面试过程中积累了丰富的经验,并成功获得了Offer。文中详细介绍了如何将当前时间戳进行转换的方法,并推荐了一些实用的在线资源,帮助读者更好地应对技术面试。 ... [详细]
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • NoSQL数据库,即非关系型数据库,有时也被称作Not Only SQL,是一种区别于传统关系型数据库的管理系统。这类数据库设计用于处理大规模、高并发的数据存储与查询需求,特别适用于需要快速读写大量非结构化或半结构化数据的应用场景。NoSQL数据库通过牺牲部分一致性来换取更高的可扩展性和性能,支持分布式部署,能够有效应对互联网时代的海量数据挑战。 ... [详细]
  • 在现代办公环境中,高效的办公软件是提升工作效能的关键。本文将推荐几款实用且专业的办公软件,帮助用户提高工作效率。首先,微软Office套件中的Word、Excel和PowerPoint依然是最常用的工具,它们凭借强大的功能和易用性,成为众多用户的首选。此外,本文还将介绍其他一些创新的办公软件,如Google Workspace和Notion,这些工具在协作和项目管理方面表现出色,值得尝试。 ... [详细]
  • 第三届人工智能、网络与信息技术国际学术会议(AINIT 2022)
    20223rdInternationalSeminaronArtificialIntelligence,NetworkingandInformationTechnology第三届 ... [详细]
  • hdfs数据节点分发什么协议_HDFS主要节点解说(一)节点功能
    HDFS是一个主从(MaterSlave)体系结构。从终于用户的角度来看,它就像传统的文件系统一样,能够通过文件夹路径对文件运行CRUD(Create、 ... [详细]
  • 工作以来接触到的技术流
    2019独角兽企业重金招聘Python工程师标准下面是工作以来接触到的技术平台,以及技术方案。部分在项目中深入过,部分仅选型、实践过。不断补充中. ... [详细]
  • 多喜爱家纺股份有限公司是一家专注于家用纺织品的企业,主要业务涵盖套件类(如枕套、被套、床单、床笠等)和芯类(如枕芯、被芯)产品的研发设计、外包生产和品牌推广。通过引入Power BI,公司显著提升了数据分析能力,优化了决策流程,实现了更精准的市场洞察和运营效率。 ... [详细]
  • 数据分析的4个目的3个意义,新手小白一定要看!-​如今,很多公司在招聘的时候都不约而同地对应聘者加上了一条“具备数据分析能力”的要求,这也从侧面反映了现在很多公司对数据分析非常重视 ... [详细]
  • Oracle 数据库 12.2新特性手册Core Improvements内核卷
    Oracle数据库12.2新特性手册-CoreImpro ... [详细]
author-avatar
大道废_796
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有