2021SC@SDUSC
Hadoop源码分析(一)——源码下载及分工文章目录
- Hadoop源码分析(一)——源码下载及分工
- 前言
- 一、Hadoop是什么?
- 二、HDFS
- 三、MapReduce
- 四、源码下载及环境
- 1、源码下载
- 2、Linux环境
- 五、分工
前言
2021年山东大学软件工程应用与实践选题Hadoop,作为大数据专业,了解掌握Hadoop感觉是必不可少的,所以借这个机会,选择了分析Hadoop源码这一项目,希望有所搜获,在此记录。
一、Hadoop是什么?
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统,其中一个组件是HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的硬件上;而且它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序。HDFS放宽了POSIX的要求,可以以流的形式访问文件系统中的数据。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。(百度百科)
二、HDFSHadoop分布式文件系统是指被设计成适合运行在通用硬件上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的。HDFS是Apache Hadoop Core项目的一部分。(百度百科)
三、MapReduceMapReduce是一种编程模型,用于大规模数据集的并行运算。概念"Map"和"Reduce",是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软件实现是指定一个Map函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce函数,用来保证所有映射的键值对中的每一个共享相同的键组。(百度百科)
四、源码下载及环境 1、源码下载
Hadoop版本下载链接,这里用最新版
虚拟机选择VMware Workstation 16 Player,Linux版本映射选择Ubuntu
本小组共5名成员,我的分工主要是分析HDFS的源代码,和maven文件夹。
hadoop-hdfs-project
hadoop-maven-plugins



