如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
1Hadoop简介ApacheHadoop是一款支持数据密集型分布式应用并以Apache2.0许可协议发布的开源软件框架。它支持在商品硬件构建的大型集群上运行的应用程序。Hadoop是根据Google公司发表的MapReduce和Google文件系统的论文自行实现而成。1.1Hadoop基本构成Hadoop是一个能够对大量数据进行分布式处理的软件框架,Hadoop实现了一个分布式文件系统(HadoopDistributedFileSystem),简称HDFS。hadoop的集群是基于master/slave模式Hadoop基本运行结构图如下:其中master和slave1、slave2、slave3、slave4分别为五台主机,NameNode、DataNode等为运行在主机上的进程。进程的作用如下:(一)NameNode是HDFS的守护程序,负责记录文件是如何分割成数据块的,以及这些数据块分别被存到那些数据节点上,主要功能是对内存及I/O进行集中管理(是个单点,发生故障将使集群崩溃)(二)DataNode这个后台程序负责把HDFS数据块读写到本地的文件系统,当客户端要读写某个数据时候,先由NameNode告诉客户端去哪个DataNode进行具体的读/写操作,然后客户端直接与这个DataNode服务器上的后台程序进行通讯,并且对相关的数据块进行读/写操作。(三)SecondaryNameNode:是一个用来监控HDFS状态的辅助后台程序,就像NameNode一样,每个集群都有一个SecondaryNameNode,不接收或记录任何实时的数据变化,但是,他会与NameNode进行通信,以便定期的保存HDFS元数据的快照,如果Name发生问题,SecondaryNameNode可以及时的作为备用NameNode。(四)JobTracker:用来连接应用程序与Hadoop,用户代码提交到集群以后,由JobTracker决定那个文件将被处理,并且为不同的task分配节点,同时,他还监控所有运行的task一旦某个task失败了JobTacker就会自动重新开启task。每个集群只有唯一一个JobTracker,位于Master节点(五)TaskTracker:与负责存储的DataNode结合,JobTracker负责分配Tasker,管理各自节点上的task。每个节点只有一个TaskTracker,但一个TaskTracker可以启动多个JVM,用于并行执行map或reduce任务1.2Hadoop版本演进Hadoop经历了从Hadoop1.x到Hadoop2.x的演变,其中Hadoop1.X中的NameNodes只可能有一个,虽然可以通过SecondaryNameNode与NameNode进行数据同步备份,但是总会存在一定的时延,如果NameNode挂掉,但是如果有部分数据还没有同步到SecondaryNameNode上,还是可能会存在着数据丢失的问题。其架构图如下:Hadoop2相比较于Hadoop1.x来说,HDFS的架构与MapReduce的都有较大的变化,且速度上和可用性上都有了很大的提高,Hadoop2中有两个重要的变更:(1)HDFSNameNodes可以以集群的方式布署,增强了NameNodes的水平扩展能力和可用性;(2)MapReduce将JobTracker中的资源管理及任务生命周期管理(包括定时触发及监控),拆分成两个独立的组件,并更名为YARN(YetAnotherResourceNegotiator)。Hadoop2.x架构图如下:2Hadoop开发环境搭建Hadoop是一个开放源代码的大数据处理平台,既可以在windows系统下运行,也可以在linux系统下运行,但是由于其开源特性及系统性能等方面的原因,目前主要应用是在linux系统下,因此学习使用Hadoop开发,一定要熟悉linux系统的一些必要知识。2.1应用系统之linux系统Linux是一种自由和开放源代码的类UNIX操作系统。Linux本身只是一个内核。在加上用户空间的应用程序之后,成为Linux操作系统。Linux也是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU通用公共许可证,任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。大多数Linux系统还包括像提供GUI的XWindow之类的程序。除了一部分专家之外,大多数人都是直接使用Linux发行版,而不是自己选择每一样组件或自行设置。目前常用的Linux发行版本比较多,常用的有:一、RedHat又称为小红帽,在国内,乃至是全世界的Linux用户所最熟悉、最耳闻能详的发行版。目前RedHat分为两个系列