轻松getHadoop大数据开发技术,这一篇文章够了
2019-07-31 18:57:14 Author: www.aqniu.com(查看原文) 阅读量:89 收藏

轻松getHadoop大数据开发技术,这一篇文章够了

星期三, 七月 31, 2019

Hadoop是一个开源框架,可编写和运行分布式应用处理大规模数据。分布式计算是一个宽泛并且不断变化的领域。

Hadoop以Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)和(Google MapReduce的开源实现)为核心,为用户提供了系统底层细节透明的分布式基础架构。HDFS的高容错性、高伸缩性等优点允许用户将Hadoop部署在低廉(low-cost)的硬件上,形成分布式系统;MapReduce分布式编程模型允许用户在不了解分布式系统底层细节的情况下并发并行应用程序。所以用户可以利用集群的Hadoop轻松地组织计算机资源,从而搭建自己的分布式计算平台,并且可以充分利用集群的计算和存储能力,完成海量数据的处理。

具备以下4个特性:

1) 方便:Hadoop运行在由一般商用机器构成的大型集群上,或者云计算服务上,比如EC2。

2) 健壮:Hadoop致力于在一般商用硬件上运行,其架构假设硬件会频繁失效,Hadoop可以从容地处理大多数此类故障。

3) 可扩展:Hadoop通过增加集群节点,可以线性地扩展以处理更大的数据集。

4) 简单:Hadoop允许用户快速编写高效的并行代码。

Hadoop框架的核心是HDFS和MapReduce。其中 HDFS 是分布式文件系统,MapReduce 是分布式数据处理模型和执行环境。掌握了这两部分,也就掌握了Hadoop最核心的东西。具体参考安全牛课堂的《Hadoop大数据开发技术入门》,hadoop是大数据的一个总称,hadoop Yarn是dadoop2的一个基础框架。现在常用的就是hadoop Yarn,hadoop Yarn可以说是大数据入门必须了解的部分。

YARN应用工作流程是这样滴:

1、用户向YARN中提交应用程序,其中包括AM程序、启动AM的命令、命令参数、用户程序等;事实上,需要准确描述运行ApplicationMaster的unix进程的所有信息。提交工作通常由YarnClient来完成。

2、RM为该应用程序分配第一个Container,并与对应的NM通信,要求它在这个Container中启动AM;

3、AM首先向RM注册,这样用户可以直接通过RM査看应用程序的运行状态,运行状态通过 AMRMClientAsync.CallbackHandler的getProgress() 方法来传递给RM。 然后它将为各个任务申请资源,并监控它的运行状态,直到运行结束,即重复步骤47;

4、AM采用轮询的方式通过RPC协议向RM申请和领取资源;资源的协调通过 AMRMClientAsync异步完成,相应的处理方法封装在AMRMClientAsync.CallbackHandler中。

5、—旦AM申请到资源后,便与对应的NM通信,要求它启动任务;通常需要指定一个ContainerLaunchContext,提供Container启动时需要的信息。

6、NM为任务设置好运行环境(包括环境变量、JAR包、二进制程序等)后,将任务启动命令写到一个脚本中,并通过运行该脚本启动任务;

7、各个任务通过某个RPC协议向AM汇报自己的状态和进度,以让AM随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务;ApplicationMaster与NM的通信通过NMClientAsync object来完成,容器的所有事件通过NMClientAsync.CallbackHandler来处理。例如启动、状态更新、停止等。

8、应用程序运行完成后,AM向RM注销并关闭自己。

内容延伸:Hadoop大数据开发技术入门

课程地址:https://www.aqniukt.com/course/8091


文章来源: https://www.aqniu.com/edu/52244.html
如有侵权请联系:admin#unsafe.sh