yarn安装 转

转http://dongxicheng.org/mapreduce-nextgen/hadoop-yarn-install/

 

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,并添加以下内容:

扫描二维码关注公众号,回复: 512317 查看本文章

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</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。如果YARN集群有多个节点,你还要配置yarn.resourcemanager.address等参数,具体参考Cloudera的这篇文档:Deploying MapReduce v2 (YARN) on a Cluster

(5) 修改hdfs-site.xml

<configuration>

<property>

<name>dfs.namenode.name.dir</name>

<value>/mnt/disk1/yarn/dfs/name</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>/mnt/disk1/yarn/dfs/data</value>

</property>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

<property>

<name>dfs.permissions</name>

<value>false</value>

</property></configuration>

(6) 修改slaves

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

YARN001

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

(7) 启动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

(8) 启动YARN

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

(9) 检查是否运行成功

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

(10) 运行应用程序

通常而言,我们会运行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文件夹中查看相应的日志以发现原因。

猜你喜欢

转载自blackproof.iteye.com/blog/2149063
今日推荐