HADOOP2.X

Hadoop2.2.0 入门教程(一)之hadoop2.x编译mac版本)

风流意气都作罢 提交于 2019-11-30 11:08:14
Hadoop 编译 在apache官网提供的hadoop2.x的编译后的hadoop项目,但是官方提供的编译后的项目是在32bit电脑上编译的,那么在64bit的电脑上,hadoop程序的运行还和本地环境有关,所以建议大家去官网下载hadoop2.x的源代码,然后在自己的环境上编译hadoop2.x项目。 一般出现以下错误,需要在本地编译hadoop项目: WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 在源代码的根目录下有一个帮助文档,BUILDING.txt在里面有详细的hadoop编译步骤,其内容如下: Build instructions for Hadoop ---------------------------------------------------------------------------------- Requirements: * Unix System * JDK 1.6+ * Maven 3.0 or later * Findbugs 1.3.9 (if running findbugs) * ProtocolBuffer 2.5.0 *

2014-11-12--Hadoop的基础学习(三)--Hadoop中MapReduce框架入门

与世无争的帅哥 提交于 2019-11-29 03:23:45
1.MapReduce的简单概念 百度百科:MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(归约)",和他们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。 至于什么是函数式编程语言和矢量编程语言,自己也搞得不太清楚,见解释链接: http://www.cnblogs.com/kym/archive/2011/03/07/1976519.html . 自己的理解:MapReduce是一种分布式计算模型,由Google提出,主要用于搜索领域,解决海量数据的计算问题.当你向MapReduce 框架提交一个计算作业时,它会首先把计算作业拆分成若干个Map 任务,然后分配到不同的节点上去执行,每一个Map 任务处理输入数据中的一部分,当Map 任务完成后,它会生成一些中间文件,这些中间文件将会作为Reduce 任务的输入数据。Reduce 任务的主要目标就是把前面若干个Map 的输出汇总到一起并输出 . 就是说HDFS已经为我们提供了高性能