Hadoop YARN安装部署初探

作者: Dong | 新浪微博: 西成懂 | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及 版权声明
网址: http://dongxicheng.org/mapreduce-nextgen/hadoop-yarn-install/

本文主要介绍了在实验环境下,能使YARN(以CDH4为例,Apache版本安装方法类似)正常工作的最简单的配置部署方法。

1. 准备

首先你需要准备一台或多台服务器,同Hadoop 1.0一样,你需要安装JDK,利用ssh设置免密码登录,在此不具体介绍。

2. 安装

接下来,你可从 http://archive.cloudera.com/cdh4/cdh/4/下载最新版的CDH4,然后解压后,修改以下几个配置文件:

(1) 设置环境变量

在${HADOOP_HOME}/etc/hadoop/hadoop-env.sh中,添加JAVA安装目录:

export JAVA_HOME=/usr/lib/jvm/java-6-openjdk

(2) 修改mapred-site.xml

在${HADOOP_HOME}/etc/hadoop/下,将mapred-site.xml.templat重命名成mapred-site.xml,并添加以下内容:

<configuration>
 <property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
 </property>
 <property>
  <name>mapred.system.dir</name>
  <value>file:/data/yarn/mapred/system</value>
  <final>true</final>
 </property>
 <property>
  <name>mapred.local.dir</name>
  <value>file:/data/yarn/mapred/local</value>
  <final>true</final>
</property>
</configuration>

【解释】相比于Hadoop1.0,用户无需再配置mapred.job.tracker,这是因为JobTracker已变成客户端的一个库,他可能被随机调度到任何一个slave上,也就是它的位置是动态生成的。需要注意的是,在该配置文件中需用mapreduce.framework.name指定采用的框架名称,默认是将作业提交到MRv1的JobTracker端。

(3) 修改core-site.xml

在${HADOOP_HOME}/etc/hadoop/中,修改core-site.xml,为了简单,我们仍采用Hadoop1.0中的HDFS工作模式(不配置HDFS Federation):

<configuration>
 <property>
  <name>fs.default.name</name>
  <value>hdfs://YARN001:8020</value>
  <final>true</final>
</property>
</configuration>

(4) 修改yarn-site.xml

在${HADOOP_HOME}/etc/hadoop/中,修改yarn-site.xml:

<configuration>
<property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce.shuffle</value>
 </property>
 <property>
  <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
  <value>org.apache.hadoop.mapred.ShuffleHandler</value>
 </property>
</configuration>

【解释】为了能够运行MapReduce程序,需要让各个NodeManager在启动时加载shuffle server,shuffle server实际上是Jetty/Netty Server,Reduce Task通过该server从各个NodeManager上远程拷贝Map Task产生的中间结果。上面增加的两个配置均用于指定shuffle serve。

(5) 修改slaves

在slaves文件中添加你的节点ip或者host:

YARN001   

如果有多个NodeManager,可一次添加到该文件中,每个占一行。

(6) 启动HDFS

你可以使用以下命令分别启动NameNode和DataNode:
bin/hadoop namenode -format
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode(如果有多个datanode,需使用hadoop-daemons.sh)
或者一次启动:sbin/ start-dfs.sh

(7) 启动YARN

你可以使用以下命令分别启动ResourceManager和NodeManager:
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager(如果有多个datanode,需使用yarn-daemons.sh)
或者一次启动过:sbin/start-yarn.sh

(8) 检查是否运行成功

打开浏览器,输入: http://yarn001:8088

(9) 运行应用程序

通常而言,我们会运行examples中的最简单的作业—sleepjob,但CDH已将之移除,我们可运行另外一个很简单的作业—pi:

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.0.0-cdh4.1.1.jar pi 20 10

界面截图(点击图片查看大图):

ResourceManager主界面:

 MapReduce Application Master界面:

-

Map Task运行状况:

某个Node上各个Container状态:

3. 总结

在启动YARN时,最好手工顺次启动各个服务,并通过jps命令查看服务是够启动成功,如果不成功,则在安装目录下的logs文件夹中查看相应的日志以发现原因。

原创文章,转载请注明: 转载自 董的博客

本文链接地址: http://dongxicheng.org/mapreduce-nextgen/hadoop-yarn-install/

作者: Dong,作者介绍: http://dongxicheng.org/about/

Copyright © 2012
This feed is for personal, non-commercial use only.
The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:
)

你可能感兴趣的:(hadoop,yarn,MRv2)