Hadoop Yarn环境配置

抄一个可行的Hadoop Yarn环境配置。用的官方的2.2.0版本。

http://www.jdon.com/bigdata/yarn.html

 

Hadoop 2.2新特性

将Mapreduce框架升级到Apache YARN,YARN将Map reduce工作区分为两个:JobTracker组件:实现资源管理和任务JOB;计划/监视组件:划分到单独应用中。 使用MapReduce的2.0,开发人员现在可以直接Hadoop内部基于构建应用程序。Hadoop2.2也已经在微软widnows上支持。

YARN带来了:

1.HDFS的高可靠性
2.HDFS snapshots快照
3.支持HDFS中的 NFSv3 文件系统。

Yarn/map reduce2.0架构图:

hadoop mapreduce yarn架构图

其中灰绿的箭头是Mapreduce处理流程,黑色虚线是任务Job提交,由客户端提交给RM,由各个节点发出资源请求到RM获取,当然他们也将各自的状态反馈到到RM。

安装Hadoop 2.2

http://mirror.metrocast.net/apache/hadoop/common/stable2/下载。百度云盘下载

解压到/home/hduser/yarn目录,假设hadoop是用户名。

$ tar -xvzf hadoop-2.2.0.tar.gz
$ mv hadoop-2.2.0 /home/hadoop/yarn/hadoop-2.2.0
$ cd /home/hadoop/yarn
$ sudo chown -R hadoop:hadoop hadoop-2.2.0
$ sudo chmod -R 755 hadoop-2.2.0

在~/.bashrc设置环境,将下面加入:

export HADOOP_HOME=$HOME/Programs/Hadoop/hadoop-2.2.0
export HADOOP_MAPRED_HOME=$HOME/Programs/Hadoop/hadoop-2.2.0
export HADOOP_COMMON_HOME=$HOME/Programs/Hadoop/hadoop-2.2.0
export HADOOP_HDFS_HOME=$HOME/Programs/Hadoop/hadoop-2.2.0
export YARN_HOME=$HOME/Programs/Hadoop/hadoop-2.2.0
export HADOOP_CONF_DIR=$HOME/Programs/Hadoop/hadoop-2.2.0/etc/hadoop

$ source ~/.bashrc

创建Hadoop数据目录:

$ mkdir -p $HOME/yarn/yarn_data/hdfs/namenode

$ mkdir -p $HOME/yarn/yarn_data/hdfs/datanode

配置:

$ cd $YARN_HOME
$ vi etc/hadoop/yarn-site.xml
编辑 yarn-site.xml

加入下面喊在yarn-site.xml:

#etc/hadoop/yarn-site.xml .
<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>

 

单个集群节点设置:

$ vi etc/hadoop/core-site.xml
加入下面内容在配置
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>

$ vi etc/hadoop/hdfs-site.xml
加入下面内容
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name> <value>file:/home/hadoop/yarn/yarn_data/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name> <value>file:/home/hadoop/yarn/yarn_data/hdfs/datanode</value>
</property>

$ vi etc/hadoop/mapred-site.xml
如果这个文件不存在,创建,拷贝粘贴下面的配置。

<?xml version="1.0"?>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

格式化namenode(Onetime Process)
$ bin/hadoop namenode -format

启动HDFS处理和Map-Reduce 处理:


# HDFS(NameNode & DataNode)部分:
$ sbin/hadoop-daemon.sh start namenode
$ sbin/hadoop-daemon.sh start datanode

# MR(Resource Manager, Node Manager & Job History Server).部分:
$ sbin/yarn-daemon.sh start resourcemanager
$ sbin/yarn-daemon.sh start nodemanager
$ sbin/mr-jobhistory-daemon.sh start historyserver

确认安装:

$ jps
# 应该输出:
22844 Jps
28711 DataNode
29281 JobHistoryServer
28887 ResourceManager
29022 NodeManager
28180 NameNode

运行wordcount单词计数案例:

$ mkdir input
$ cat > input/file
This is word count example
using hadoop 2.2.0

将目录加入hadoop:

$ bin/hadoop hdfs -copyFromLocal input /input

在HADOOP_HOME运行wordcount案例::
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /input /output
检查输出:
$ bin/hadoop dfs -cat /out/*
This 2
Another 1
is 2
line 1
one 2

检查WebUI,浏览器打开端口:http://localhost:50070

yarn ui

可以在http://localhost:8088检查应用程序的状态:

hadoop 2.2

posted @ 2014-03-03 17:29 明之道 阅读(...) 评论(...) 编辑 收藏