Hadoop YARN安装部署初探
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>
</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文件夾中查看相應的日志以發現原因。
原創文章,轉載請注明:?轉載自董的博客
本文鏈接地址:?http://dongxicheng.org/mapreduce-nextgen/hadoop-yarn-install/
總結
以上是生活随笔為你收集整理的Hadoop YARN安装部署初探的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何编写YARN应用程序
- 下一篇: Hadoop版本选择探讨