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

Hadoop框架学习笔记之整体认知

Hadoop框架学习笔记大数据技术解决什么问题?主要解决海量数据存储和计算。Hadoop的广义和狭义之分?狭义:Hadoop由三部分组成:HDFS:分布式文件系统存储MapRedu


Hadoop 框架学习笔记



  • 大数据技术解决什么问题?

    主要解决海量数据存储和计算。


  • Hadoop的广义和狭义之分?

    狭义:Hadoop 由三部分组成:HDFS:分布式文件系统存储 MapReduce:分布式离线计算框架 YARN:资源调度框架

    广义:不仅是Hadoop框架,之外还有周边框架,比如 Flume:日志数据采集;Sqoop:关系型数据库的采集、导出;Hive:深度依赖Hadoop框架完成计算(SQL) Hbase:大数据领域的数据库

    广义的Hadoop是一个大数据生态圈。



大数据简介


大数据的定义


大数据是指无法在一定时间范围内用常规的软件工具进行捕捉,管理和处理数据集合,是需要新处理方法,才能有更强的决策力、洞察发现力和流程化能力的海量、高增长率和多样化的信息资产。


大数据的特点


大数据的特点可以用IBM 曾经提出的 “5V”来描述,如下:


Volume Velocity Variety Veracity Value



  • 大量

    采集、存储和计算的数据量都非常大。

    计算机存储单位一般用B、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB来表示,换算关系:

    1GB = 1024MB

    1TB = 1024GB

    1PB = 1024TB

    1EB = 1024PB

    1ZB = 1024EB

    1YB = 1024ZB

    1BB = 1024YB

    1NB = 1024BB

    1DB = 1024NB



以PB为例,PB级别数据量有多大?是怎样的一个概念?


假如手机播放MP3每分钟1MB,而1首歌曲的平均时长为4分钟,那么1PB存量的歌曲可以存放2000年。


1PB 相当于50%的全美学术研究图书馆书咨询内容。


(1)1986年,全球只有0.02EB也就是约21000TB的数据量


(2)2007 年,全球也就280EB,也就是约300000000的数据量,翻了14000倍


(3)这些年,由于移动互联网以及物联网的出现,各种终端设备接入,各种业务形式的普及,平均每40个月,全球的数据量就会翻倍!2012年,每天会产生2.5EB的数据量;


(4)基于IDC的报告预测,从2013年到2020年,全球数据量会从4.42ZB猛增加到44ZB!到了2025年,全球会有163ZB的数据量!全球的数据量已经大到爆炸了!传统的关系型数据库根本处理不了如此海量的数据!



  • 高速

    在大数据时代,数据的创建、存储、分析都要求高速处理,比如电商网站的个性化推荐尽可能要求实时完成推荐,这也是大数据区别于传统的数据挖掘的显著特征。




  • 多样

    数据形式和来源多样化,包括结构化、半结构化和非结构化数据,具体表现为网络日志、音频、视频、图片、地理位置信息等等,多类型的数据对数据的处理能力提出了更高的要求。




  • 真实

    确保数据的真实性,才能保证数据分析的正确性。




  • 低价值

    数据价值密度相对较劲,或者说是浪里淘沙却又弥足珍贵。互联网发展催生了大量的数据,信息海量,但是价值密度较低,如何结合业务逻辑并通过强大的机会来进行机器算法来挖掘数据价值,是大数据时代需要解决的问题,也是一个有难度的课题。



大数据的应用场景


随着大数据的发展,大数据技术已经广泛应用在众多行业,比如仓储物流、电商零售、汽车、电信、生物医学、人工智能、智慧城市等领域。包括在疫情防御中,大数据技术也发挥了重要的作用。


Hadoop 简介


什么是Hadoop?


Hadoop 是一个适合大数据的分布式存储和计算平台。


如前所属,狭义说Hadoop就是一个框架平台,广义上将Hadoop代表大数据的一个技术生态圈,包括很多其他软件框架。


Hadoop生态圈技术栈



  • Hadoop(HDFS+MapReduce+Yarn)

  • Hive数据仓库工具

  • HBase 海量列式非关系型数据库

  • Flume 数据采集工具

  • Sqoop ETL 工具

  • Kafka 高吞吐消息中间件


Hadoop 的起源


Hadoop 的发展历程可以用如下过程概述:


Nutch -----> Google 论文(GFS、Mapreduce)


​ -----> Hadoop产生


​ ------> 成为Apache顶级项目


​ ------> Cloudera 公司成立(Hadoop快速发展)



  • Hadoop 最早起源于Nutch , Nutch 的创始人是Doug Cutting

    Nutch 是一个开源Java 实现的搜索引擎,它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫,但是随着抓取网页数量的增加,遇到了严重的可扩展性的问题--如何解决数十亿级别网页的存储和索引问题。


  • 2003 年、2004 年谷歌发表的两篇论文为该问题提供了可行的解决方法,GFS,用于处理海量网页的存储;Mapreduce,可用于处理海量网页的索引计算问题。


Google 的三篇论文(三驾马车)


GFS:Google的分布式文件系统(Google File System)


Mapreduce: Google的分布式计算框架


Bigtable:大型分布式数据库


发展演变关系:


GFS-->HDFS


Google Mapreduce ---> Hadoop Mapreduce


Bigtable --> Hbase



  • 随后,Google公布了部分GFS和Mapreduce思想的细节,Doug Cutting等人用2年的业余时间实现了GFS和Mapreduce机制,使Nutch性能飙升。

  • 2005 年,Hadoop作为Lucene的子项目Nutch的一部分引入Apache

  • 2006年,Hadoop从Nutch剥离出来独立

  • 2008年,Hadoop成为Apache的顶级项目

    Hadoop这个名字来源于Doug Cutting儿子的毛绒玩具象



Hadoop的特点



  • 扩容能力


Hadoop是在计算机集群内分配数据并完成计算任务,集群可以方便的扩展数千个节点;



  • 低成本


Hadoop 通过普通廉价的机器组成服务器集群来分发以及处理数据,以至于成本很低;



  • 高效率


Hadoop 可以在节点之前动态并行的移动数据,使得速度非常快



  • 可靠性


能自动维护数据的多份复制,并且在任务失败后能自动的重新部署计算任务。


Hadoop的发行版本


目前Hadoop发行版本非常多,有Cloudera发行版、Hortonworks发行版、华为发行版、Intel 发行版,所有这些发行版均是基于Apache Hadoop 衍生出来的,之所以这么多版本,是由Apache Hadoop的开源协议决定的(任何人可以对其进行修改,并且作为开源或者商业产品发布/销售)


企业总主要用到的三个版本分别是:Apache Hadoop版本(最原始的,所有发行版均基于这个版本进行改进)、Cloudera版本(Cloudera's Distribution Including Apache Hadoop,简称"CDH")、Hortonworks版本(Hortonworks Data Platform,简称”HDP“)。



  • Apache Hadoop 原始版本


官网地址: http://hadoop.apache.org/


优点:拥有全世界的贡献,代码更新比较快


缺点:版本的升级,版本的维护,以及维护之间的兼容性,学习非常方便


Apache Hadoop所有软件的下载地址(包括各种历史版本): http://archive/apache.org/dist/



  • 软件收费版本CouderaManager CDH版本---生产环境使用


官网地址: http://ww.cloudera.com


Cloudera 主要是美国一家大数据公司在Apache开源的Hadoop版本上,通过自己的公司内部的各种补丁,实现版本之间的稳定运行,大数据生态圈的各个版本的软件都提供了对应的版本,解决了版本的升级困惑,版本兼容性等各种问题,生产换寄给你强烈推荐使用。



  • 免费开源版本HortonWorks HDP版本 -- 生产环境使用


官网地址: http://hortonworks.com


hortonworks 主要是雅虎主导的Hadoop开发的副总裁,带领二十几个核心成员以Hortonworks,核心产品软件HDP(ambari),HDF免费开源,整套的web管理界面,供我们可以通过web界面管理我们的集群状态,web管理界面软件HDF网址: http://ambari.apache.org/


Apache Hadoop版本更迭


0.x 系列版本:Hadoop当中最早的一个开源版本,在此基础上演变而来的1.x以及2.x的版本


1.x系列版本:Hadoop版本当中的第二代开源版本,主要修复0.x版本的一些bug;


2.x系列版本:架构产生重大变化,引入了yarn平台等新特性


3.x系列版本:EC技术、YARN的时间轴服务新特性


Hadoop 的优缺点


Hadoop 的优点



  • Hadoop具有存储和处理数据能力的高可用性

  • Hadoop通过可用的计算机集群分配数据,完成存储和计算任务,这些集群可以方便的扩展到数以千计的节点中,具有高扩展性。

  • Hadoop能够在节点之间进行移动数据,并保证各个节点的动态平衡,处理速度非常快,具有高效性。

  • Hadoop 能够自动存储数据的多个副本,并且能够自动将失败的任务冲洗分配,绝具有高容错性。


Hadoop 的缺点



  • Hadoop不适用于低延迟的数据访问

  • Hadoop不能高效存储大量小文件

  • Hadoop 不支持多用户写入并任意修改文件


● Spring事务的坑都给你总结好了!!!


● API网关正在经历身份危机


● 后端生成Token架构与设计详解


● Hadoop 框架学习笔记之整体认知



关注公众号,回复“spring”有惊喜!!!


如果资源对你有帮助的话


本文由博客一文多发平台 OpenWrite 发布!




推荐阅读
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • HBase在金融大数据迁移中的应用与挑战
    随着最后一台设备的下线,标志着超过10PB的HBase数据迁移项目顺利完成。目前,新的集群已在新机房稳定运行超过两个月,监控数据显示,新集群的查询响应时间显著降低,系统稳定性大幅提升。此外,数据消费的波动也变得更加平滑,整体性能得到了显著优化。 ... [详细]
  • 本文深入探讨了NoSQL数据库的四大主要类型:键值对存储、文档存储、列式存储和图数据库。NoSQL(Not Only SQL)是指一系列非关系型数据库系统,它们不依赖于固定模式的数据存储方式,能够灵活处理大规模、高并发的数据需求。键值对存储适用于简单的数据结构;文档存储支持复杂的数据对象;列式存储优化了大数据量的读写性能;而图数据库则擅长处理复杂的关系网络。每种类型的NoSQL数据库都有其独特的优势和应用场景,本文将详细分析它们的特点及应用实例。 ... [详细]
  • 在前一篇文章《Hadoop》系列之“踽踽独行”(二)中,我们详细探讨了云计算的核心概念。本章将重点转向物联网技术,全面解析其基本原理、应用场景及未来发展前景。通过深入分析物联网的架构和技术栈,我们将揭示其在智能城市、工业自动化和智能家居等领域的广泛应用潜力。此外,还将讨论物联网面临的挑战,如数据安全和隐私保护等问题,并展望其在未来技术融合中的重要角色。 ... [详细]
  • PHP中元素的计量单位是什么? ... [详细]
  • NoSQL数据库,即非关系型数据库,有时也被称作Not Only SQL,是一种区别于传统关系型数据库的管理系统。这类数据库设计用于处理大规模、高并发的数据存储与查询需求,特别适用于需要快速读写大量非结构化或半结构化数据的应用场景。NoSQL数据库通过牺牲部分一致性来换取更高的可扩展性和性能,支持分布式部署,能够有效应对互联网时代的海量数据挑战。 ... [详细]
  • 第三届人工智能、网络与信息技术国际学术会议(AINIT 2022)
    20223rdInternationalSeminaronArtificialIntelligence,NetworkingandInformationTechnology第三届 ... [详细]
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • 本文详细介绍了如何安全地手动卸载Exchange Server 2003,以确保系统的稳定性和数据的完整性。根据微软官方支持文档(https://support.microsoft.com/kb833396/zh-cn),在进行卸载操作前,需要特别注意备份重要数据,并遵循一系列严格的步骤,以避免对现有网络环境造成不利影响。此外,文章还提供了详细的故障排除指南,帮助管理员在遇到问题时能够迅速解决,确保整个卸载过程顺利进行。 ... [详细]
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • 在构建品牌网站时,需遵循一系列关键原则与策略。对于缺乏经验的人来说,这往往是一个挑战。本文深入分析了常见问题及其成因,并提供了切实可行的解决方案,旨在帮助读者有效应对品牌网站建设中的难题。 ... [详细]
  • Hadoop——实验七:MapReduce编程实践
    文章目录一.实验目的二.实验内容三.实验步骤及结果分析 1.基于ubuntukylin14.04(7)版本,安装hadoop-eclipse-kepler-plugi ... [详细]
  • Hadoop的分布式架构改进与应用
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • Redis概念
    Redis概念:redis是一款高性能的NOSQL系列的非关系型数据库什么是NOSQLNOSQL(NoSQLNotOnlySQL),意即不仅仅是SQL,是一项全新的数据库理念, ... [详细]
  • Springboot 集成spring cache缓存的解决方案_java
    这篇文章主要介绍了Springboot 集成spring cache缓存,使用缓存最关键的一点就是保证缓存与数据库的数据一致性,本文给大家介绍最常用的缓存操作模式,对Springb ... [详细]
author-avatar
赵浩民奕君
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有