抄一個可行的Hadoop Yarn環境配置。用的官方的2.2.0版本。html
http://www.jdon.com/bigdata/yarn.htmlnode
Hadoop 2.2新特性apache
將Mapreduce框架升級到Apache YARN,YARN將Map reduce工做區分爲兩個:JobTracker組件:實現資源管理和任務JOB;計劃/監視組件:劃分到單獨應用中。 使用MapReduce的2.0,開發人員如今能夠直接Hadoop內部基於構建應用程序。Hadoop2.2也已經在微軟widnows上支持。瀏覽器
YARN帶來了:bash
1.HDFS的高可靠性
2.HDFS snapshots快照
3.支持HDFS中的 NFSv3 文件系統。架構
Yarn/map reduce2.0架構圖:框架
其中灰綠的箭頭是Mapreduce處理流程,黑色虛線是任務Job提交,由客戶端提交給RM,由各個節點發出資源請求到RM獲取,固然他們也將各自的狀態反饋到到RM。oop
從http://mirror.metrocast.net/apache/hadoop/common/stable2/下載。百度雲盤下載。ui
解壓到/home/hduser/yarn目錄,假設hadoop是用戶名。.net
$ 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
能夠在http://localhost:8088檢查應用程序的狀態: