Hadoop教程:您需要了解的所有有关Hadoop的知识!

如果您想在正确的道路上学习Hadoop,那么您已经找到了理想的地方。在这篇Hadoop教程文章中,您将以一种非常简单和透明的方法从基础知识到高级Hadoop概念进行学习。优先地,您还可以观看以下视频,其中我们的Hadoop培训专家正在讨论Hadoop概念以及实际示例。

Hadoop初学者教程| Hadoop培训| 埃杜雷卡

 

在此Hadoop教程文章中,我们将涵盖以下主题:

 

它是如何开始的?

在这篇Hadoop教程文章中介绍技术知识之前,让我先介绍一个有趣的故事,有关Hadoop是如何诞生的?为什么在行业时下如此受欢迎?

因此,这一切始于两个人,迈克·卡法雷拉Mike Cafarella)道格·切特Doug Cutting),他们正在构建一个可以索引10亿页搜索引擎系统。经过研究,他们估计这种系统的硬件成本约为50万美元,每月的运行成本为30,000美元,这非常昂贵。但是,他们很快意识到他们的体系结构将无法处理Web上数十亿个页面。

他们偶然发现了一篇论文,发表于2003年,所描述的架构谷歌的分布式文件系统,称为GFS,这是正在生产的用于谷歌现在,关于GFS的这篇论文被证明是他们所寻找的东西,很快,他们意识到它将解决存储作为Web爬网索引过程的一部分而生成的超大文件的所有问题。

2004年下半年,Google又发表了一篇论文,将MapReduce推向了世界。最后,这两篇论文导致了名为“ Hadoop ” 的框架的建立。Doug引用了Google对Hadoop框架开发的贡献:

“ Google会在未来几年生存,并向我们发送其余信息。

因此,到目前为止,您已经意识到Hadoop的功能强大。 现在,在进入Hadoop之前,让我们从Big Data开始讨论,这导致了Hadoop的发展。

获得行业级项目认证并快速追踪您的职业 看一看!

 

什么是大数据?

您是否曾经想过技术如何发展来满足新兴需求?

例如:

之前我们有座机,但现在我们转向了智能手机。同样,你们中有多少人还记得90年代广泛使用的软盘驱动器?这些软盘驱动器已被硬盘取代,因为这些软盘驱动器的存储容量和传输速度非常低。

因此,这使得软盘驱动器不足以处理我们今天要处理的数据量。实际上,现在我们可以将数TB的数据存储在云中,而不必担心 大小限制。

现在,让我们谈谈有助于数据生成的各种驱动程序。 

您听说过物联网吗?

物联网将您的物理设备连接到互联网,并使其变得更智能。如今,我们拥有智能空调,电视机等。您的智能空调会不断监视您的房间温度以及外部温度,并据此确定房间的温度。现在想象一下,安装在成千上万个房屋中的智能空调一年将产生多少数据。借此,您可以了解物联网如何在大数据中占主要份额。

现在,让我们讨论一下  大数据的最大贡献者,那就是社交媒体

社交媒体是大数据演进中最重要的因素之一,因为它提供了有关人们行为的信息。您可以查看下图,了解每分钟生成多少数据:

图:Hadoop教程–社交媒体数据生成统计

除了生成数据的速率外,第二个因素是这些数据集中缺乏适当的格式或结构,这给处理带来了挑战。

 

Hadoop教程:大数据和Hadoop –类比餐厅

让我们以一家餐厅为例,以了解与大数据相关的问题以及Hadoop如何解决该问题。

鲍勃(Bob)是个开了小餐馆的商人。最初,在他的餐厅里,他过去每小时会收到两份订单,他的餐厅里有一位厨师和一个食物架子,足以应付所有订单。 

图:Hadoop教程–传统餐厅场景

现在让我们比较哪里是越来越以稳定的速率和我们像传统的系统产生的数据的传统方案中餐厅示例RDBMS 是 有足够的能力来处理它,就像鲍勃的厨师。在这里,您可以将数据存储与餐厅的食物架相关联,并将传统处理单元与厨师相关联,如上图所示。

图:Hadoop教程–传统场景

几个月后,鲍勃(Bob)考虑扩大业务,因此,他开始接受在线订单,并在餐厅的菜单中添加了一些其他菜式,以吸引更大的受众。由于这种过渡,他们收到订单的速度提高到了每小时10个订单的惊人数字,而且单个厨师很难应付当前的情况。意识到处理订单的情况后,鲍勃开始考虑解决方案。 

图:Hadoop教程–分布式处理方案

同样,在大数据场景中,由于引入了各种数据增长驱动程序(例如社交媒体,智能手机等),数据开始以惊人的速度生成。

现在,传统的系统就像鲍勃的餐厅里的厨师一样,效率不足以应对这种突然的变化。因此,需要一种不同类型的解决方案策略来解决这个问题。 

经过大量研究,Bob提出了一个解决方案,他又雇用了4名厨师来应对收到的大量订单。一切都进行得很好,但是这种解决方案导致了另一个问题。由于四位厨师共享同一个食物架,因此食物架正成为整个过程的瓶颈。因此,该解决方案并不像鲍勃认为的那样有效。

图:Hadoop教程–分布式处理方案故障

同样,为解决处理海量数据集的问题,安装了多个处理单元以并行处理数据(就像鲍勃雇了4个厨师一样)。但是即使在这种情况下,引入多个处理单元也不是一种有效的解决方案,因为集中式存储单元已成为瓶颈。

换句话说,整个系统的性能取决于中央存储单元的性能。因此,当我们的中央存储出现故障时,整个系统就会受到威胁。因此,再次需要解决这一单点故障。 

图:Hadoop教程–餐厅问题的解决方案

鲍勃想出了另一种有效的解决方案,他将所有的厨师分为两个层次,这是一个少年和一个主厨和分配的每个初级厨师与食品货架。让我们假设这道菜是肉酱。现在,按照鲍勃的计划,一名初级厨师将准备肉,另一初级厨师将准备酱汁。继续前进,他们将肉和酱都转移给主厨,主厨将两种成分混合后准备肉酱,然后将其作为最终订单交付。

图:Hadoop教程–类比餐厅中的Hadoop

Hadoop的功能类似于Bob的餐厅。由于食品货架是在Bob的餐厅中分布的,因此类似地,在Hadoop中,数据以复制的分布式方式存储,以提供容错能力。对于并行处理,首先由从站处理数据,并在其中存储一些中间结果,然后由主节点合并这些中间结果以发送最终结果。

现在,您必须已经了解了为什么大数据是一个问题陈述以及Hadoop 如何解决它。正如我们上面所讨论的,大数据面临三个主要挑战:

  • 第一个问题是存储大量数据

在传统系统中无法存储大量数据。原因很明显,存储将被限制在一个系统中,并且数据正在以惊人的速度增长。

  • 第二个问题是存储异构数据

现在我们知道存储是一个问题,但是让我告诉您这只是问题的一部分。数据不仅庞大,而且还以各种格式(即非结构化,半结构化和结构化)存在。因此,您需要确保您拥有一个系统来存储从各种来源生成的不同类型的数据。

  • 最后让我们关注第三个问题,即处理速度 

现在,由于要处理的数据太大,因此处理大量数据所需的时间非常长。  


为了解决存储问题和处理问题,在Hadoop中创建了两个核心组件  -HDFS YARN。HDFS解决了存储问题,因为它以分布式方式存储数据并且易于扩展。并且,YARN通过大大减少处理时间来解决处理问题。继续前进,让我们了解什么是Hadoop?

 

什么是Hadoop?

Hadoop是一个开源软件框架,用于在大型商用硬件集群上以分布式方式存储和处理大数据。Hadoop已获得Apache v2许可证的许可。

Hadoop是根据Google在MapReduce 系统上撰写的论文开发的,它应用了功能编程的概念。Hadoop是用Java编程语言 编写的,并且是最高级别的Apache项目之一。Hadoop由Doug CuttingMichael J. Cafarella开发。

Hadoop即解决方案

让我们了解Hadoop如何为迄今为止我们讨论的大数据问题提供解决方案。

图:Hadoop教程– Hadoop即解决方案

  • 第一个问题是存储大量数据

如上图所示,HDFS提供了一种分布式大数据存储方式您的数据存储在DataNodes中的块中,并指定每个块的大小。假设您有512 MB的数据,并且已配置HDFS,以便它将创建128 MB的数据块。现在,HDFS将数据分为512/128 = 4的4个块,并将其存储在不同的DataNode中。将这些数据块存储到DataNode中时,数据块将复制到不同的DataNode上以提供容错能力。

Hadoop遵循水平扩展而不是垂直扩展。在水平扩展中,您可以 根据需要在运行时将新节点添加到HDFS群集,而不必增加每个节点中存在的硬件堆栈。 

  • 下一个问题是存储各种数据

如上图所示,在HDFS中,您可以存储各种数据,无论是结构化,半结构化还是非结构化。在HDFS中,没有预转储架构验证。 它还遵循一次编写和读取许多模型的操作。因此,您可以一次写入任何类型的数据,也可以多次读取以查找见解。

  • 第三个挑战是如何更快地处理数据

为了解决这个问题,我们将处理单元移至数据,而不是将数据移至处理单元。

那么,将计算单元移动到数据意味着什么呢?

这意味着,不是将数据从不同的节点移动到单个主节点进行处理,而是将处理逻辑发送到存储数据的节点,以便每个节点可以并行处理一部分数据。最后,每个节点产生的所有中间输出都合并在一起,最终响应被发送回客户端。

 

Hadoop的功能 

图:Hadoop教程– Hadoop功能

可靠性

当机器作为一个单元工作时,如果其中一台机器发生故障,则另一台机器将接管责任,并以可靠容错的方式工作。Hadoop基础架构具有内置的容错功能,因此Hadoop具有高度的可靠性。 

经济

Hadoop使用商品硬件(例如您的PC,笔记本电脑)。例如,在小型Hadoop集群中,所有DataNode都可以具有常规配置,例如8-16 GB RAM,5-10 TB硬盘和Xeon处理器。

但是,如果出于相同的目的,我将基于硬件的RAIDOracle一起使用,我最终的支出至少会增加5倍。因此,基于Hadoop的项目的拥有成本得以最小化。维护Hadoop环境更容易,也很经济。此外,Hadoop是开源软件,因此没有许可成本。

可扩展性 

Hadoop具有与基于云的服务无缝集成的内置功能。因此,如果您要在云上安装Hadoop,则无需担心可伸缩性因素,因为您可以继续购买更多硬件,并在需要时在几分钟内扩展设置。

灵活性 

Hadoop在处理各种数据的能力方面非常灵活。我们在之前的大数据教程博客中  讨论了“变量”,其中数据可以是任何类型,Hadoop可以存储和处理所有数据,无论是结构化,半结构化还是非结构化数据。

这4个特性使Hadoop  成为 应对大数据挑战的  领先者。现在我们知道什么是Hadoop,我们可以探索Hadoop的核心组件。 让我们了解一下,Hadoop的核心组件是什么。

 

Hadoop核心组件

在设置Hadoop集群时,您可以选择很多服务作为Hadoop平台的一部分,但是对于设置Hadoop来说,始终必须有两项服务。一个是  HDFS(存储)  ,另一个是  YARN(处理)。HDFS代表  Hadoop分布式文件系统,它是Hadoop的可扩展存储单元,而YARN用于处理数据,即以分布式和并行方式存储在HDFS中。

HDFS

让我们首先使用HDFS。Ť 他的主要组成部分  HDFS的NameNodeDataNode会。让我们详细讨论这两个组件的作用。 

图:Hadoop教程– HDFS

名称节点

  • 它是维护和管理数据节点(从节点)的主守护程序。
  • 它记录集群中存储的所有块的元数据,例如,存储的块的位置,文件的大小,权限,层次结构等。
  • 它记录了文件系统元数据发生的每一次更改
  • 如果在HDFS中删除了文件,则NameNode将立即将其记录在EditLog中
  • 它定期从集群中的所有数据节点接收心跳信号和阻止报告,以确保数据节点处于活动状态
  • 它会记录 存储它们的HDFSDataNode中的所有块
  • 它具有高可用性和联合功能,我将在HDFS架构中详细讨论

数据节点

  • 它是在每个从属计算机上运行的从属守护程序
  • 实际的数据存储上的DataNodes
  • 它负责服务的读取写入请求从客户端
  • 它还负责根据NameNode的决定创建块,删除块复制它们
  • 它会定期将心跳发送到NameNode以报告HDFS的总体运行状况,默认情况下,此频率设置为3秒

因此,这全是关于HDFS的概述。现在,让我们进入Hadoop的第二个基本单元,即YARN。

YARN由两个主要组件组成:ResourceManager  和  NodeManager

图:Hadoop教程– YARN

资源管理器 

  • 它是集群级别的(每个集群一个)组件,在主计算机上运行
  • 它管理资源计划在YARN上运行的应用程序
  • 它具有两个组件:SchedulerApplicationManager
  • 调度程序负责将资源分配给各种正在运行的应用程序
  • ApplicationManager负责接受作业提交并协商用于执行应用程序的第一个容器
  • 它跟踪节点管理器的心跳

节点管理器

  • 它是节点级组件(每个节点一个),并在每个从属计算机上运行
  • 它负责管理容器监视每个容器中的资源利用率
  • 它还跟踪节点运行状况日志管理
  • 它持续与ResourceManager通信以保持最新状态

 

Hadoop生态系统

到目前为止,您可能已经知道Hadoop既不是编程语言也不是服务,它是解决大数据问题的平台或框架。您可以将其视为一个套件,其中包含许多用于摄取,存储和分析海量数据集的服务以及用于配置管理的工具。

图:Hadoop教程– Hadoop生态系统

我们已经在Hadoop生态系统博客中详细讨论了Hadoop生态系统及其组件。现在,在本Hadoop教程中,让我们知道Last.fm如何将Hadoop用作其解决方案策略的一部分

 

Hadoop教程:Last.FM案例研究

 

Last.FM是成立于2002年的互联网广播社区驱动音乐发现服务用户将信息传输到Last.FM服务器,以指示他们正在收听的歌曲。接收到的数据经过处理和存储,以便用户可以以图表的形式访问它。因此,Last.FM可以做出明智的选择并做出兼容的决策以生成推荐。数据是从以下两个来源之一获得的:

  • scrobble:当用户播放自己选择的曲目并将信息通过客户端应用程序发送到Last.FM时。
  • 广播 收听:当用户收听  Last.FM广播电台并播放歌曲时。

Last.FM应用程序允许用户喜欢,跳过或禁止他们收听的每个曲目。该曲目监听数据也被传输到服务器。

  • 每月有超过4000万的唯一身份访问者,页面浏览量达到5 亿
  • 杂项统计:
    • 每秒高达800个涂鸦
    • 每天超过4000万个涂鸦
    • 到目前为止,已有超过750亿个涂鸦
  • 无线电统计:
    • 每月超过1000万次的处理时间
    • 每天超过40万个独立电台
  • 每个scrobble无线电收听生成至少一个的logline

Last.FM上的Hadoop

  • 100个节点
  • 每个节点8个核心(双四核)
  • 每个节点24GB内存
  • 8TB(4个磁盘,每个2TB)
  • Hive集成以运行优化的SQL查询进行分析

Last.FM2006年开始使用Hadoop,原因是用户数从数千增加到了数百万。在Hadoop的帮助下,他们每天,每月和每周处理数百项工作,包括网站统计信息和指标,图表生成(即曲目统计),元数据校正(例如艺术家的拼写错误),搜索索引,合并/格式化建议数据,数据见解,评估和报告。这帮助Last.FM取得了巨大的发展,并根据他们的推荐音乐开始了解用户的口味。  

我希望该博客能为您提供丰富的信息,并为您的知识增添价值。在我们的下一个Hadoop生态系统博客中我们将详细讨论Hadoop生态系统中存在的各种工具。

现在您已经了解了Hadoop及其功能,请查看Edureka 的  Hadoop培训 ,该公司是一家受信任的在线学习公司,其网络遍布全球,共有250,000多名满意的学习者。Edureka大数据Hadoop认证培训课程使用零售,社交媒体,航空,旅游,金融领域的实时用例,帮助学习者成为HDFS,Yarn,MapReduce,Pig,Hive,HBase,Oozie,Flume和Sqoop的专家。

有问题要问我们吗?请在评论部分中提及它,我们将尽快与您联系。

发布了377 篇原创文章 · 获赞 127 · 访问量 64万+

猜你喜欢

转载自blog.csdn.net/daqiang012/article/details/104141316
今日推荐