1 / 37
文档名称:

2010-05-21肖韬组会报告---MapReduce编程实例浅析.ppt

格式:ppt   页数:37
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

2010-05-21肖韬组会报告---MapReduce编程实例浅析.ppt

上传人:1449388646 2012/10/14 文件大小:0 KB

下载得到文件列表

2010-05-21肖韬组会报告---MapReduce编程实例浅析.ppt

文档介绍

文档介绍:MapReduce 程序实例浅析
肖韬
南京大学计算机科学与技术系

MapReduce任务执行过程回顾
下载JDK及Hadoop软件
,安装好了之后需要进行环境变量的设置
在/etc/profile文件中增加3行:
export JAVA_HOME=/home/xt/soft/
export HADOOP_HOME_0_20_2=/home/hadoop_home/ hadoop-
export PATH=$JAVA_HOME/bin:$HADOOP_HOME_0_20_2:$PATH
然后, source /etc/profile将该文件重新加载一遍
编写MapReduce程序所需的 简单背景知识
编程语言
Hadoop平台的框架代码由Java编写,实现了很好的可移植性。但是MapReduce程序的编写不仅仅局限于Java语言,也可以用C++及脚本语言(如Perl,Python等)。但是用Java语言来编写是最合适与最高效的。
今天的组会将会分别以Java语言和Python语言编写的例子来进行解析。
Hadoop的文件系统
Hadoop的文件系统是一个抽象的概念,包含了不同的具体实现,如Local, HDFS, HFTP, KFS等。
通过两个静态工厂方法来获取FileSystem实例.
public static FileSystem get(Configuration conf) throws IOException;
public static FileSystem get(URI uri, Configuration conf) throws IOException;
MapReduce程序运行模式
MapReduce程序可以以以下三种模式运行:
Local(Standalone) Mode:只有一个 Java 虚拟机在跑,完全没有分布式的成分。且不使用HDFS文件系统,而是使用本机的Linux文件系统。
Pseudo-distributed Mode:在同一台机器上启动独立数个 JVM 进程,每一个hadoop daemon运行在一个单独的JVM进程中,进行“伪分布式”操作。
Fully-distributed Mode:真正的可以运行于多台机器上的分布式模式。
其中, Standalone mode 使用local filesystem 以及 local MapReducer job runner, Distributed mode 使用HDFS 以及 MapReduce daemons
三种模式所涉及到的配置文件及其参数
conf/core-: 为Hadoop设定默认的文件系统
<configuration>
<property>
<name></name>
<value> VALUE </value>
</property>
</configuration>
Standalone mode: VALUE=file:///
Pseudo-distributed mode: VALUE=hdfs://localhost:9000
Fully-Distributed mode: VALUE=hdfs://namenode
HDFS daemon 将使用该配置属性来决定用作NameNode的主机及端口号。
conf/hdfs-
<configuration>
<property>
<name></name>
<value> VALUE </value>
</property>
</configuration>
Standalone mode: VALUE=N/A (数据无副本该属性无效)
Pseudo-distributed mode: VALUE=1 (只有1个DataNode)
Fully-Distributed mode: VALUE=任意值(默认为3)
conf/mapred-
<configuration>
<property>
<name></name>
<value> VALUE </value>
</property>
</configuration>
Standalone mode: VALUE=local
Pseudo-distributed mode: VALUE=localhost:8021
Fully-Distributed mode: VALUE=jobtracker