1. 程式人生 > >hadoop的三種執行模式區別及配置詳解

hadoop的三種執行模式區別及配置詳解

       基於hadoop進行開發時,有時候,會被hadoop的三種執行模式搞混,也會被hadoop叢集有哪些配置弄得暈頭轉向,因為看不同的文件有不同的配置方法。所以要先弄明白hadoop的執行模式,以及對應模式的有哪些必須配置,尤為重要,做到心中有數。

       首先配置hadoop的元件,均可以利用XML檔案進行配置,四個配置檔案:core-site.xml檔案用於配置通用屬性(common),hdfs-site.xml檔案用於HDFS的屬性配置,mapred-site.xml檔案用於配置MapReduce屬性,yarn-site.xml用於YARN的配置。這些檔案都儲存在hadoop安裝目錄下的etc/hadoop子目錄中(當然實際配置時也可以將etc/hadoop目錄及其檔案複製到另外一個位置,這樣做的好處是將配置設定和安裝檔案隔離開。如果這樣做的話,需要在環境變數中將HADOOP_CONF_DIR設定成指向那個新目錄,或者在啟動守護程序時使用--config配置選項)

。其中。以上四個配置檔案系統都有預設設定,分別儲存在share/doc子目錄下的4個HTML檔案中,core-defalut.xml等等。

       Hadoop的三種執行模式 :

          1.獨立(本地)執行模式:無需任何守護程序,所有的程式都執行在同一個JVM上執行。在獨立模式下除錯MR程式非常高效方便。所以一般該模式主要是在學習或者開發階段除錯使用 。

          2.偽分散式模式:  Hadoop守護程序執行在本地機器上,模擬一個小規模的叢集,換句話說,可以配置一臺機器的Hadoop叢集,偽分散式是完全分散式的一個特例。

          3.完全分散式模式:Hadoop守護程序執行在一個叢集上。

            注意:所謂分散式要啟動守護程序 ,即:使用分散式hadoop時,要先啟動一些準備程式程序,然後才能使用比如start-dfs.sh  start-yarn.sh。而本地模式不需要啟動這些守護程序

三種模式的叢集必須配置資訊:

  下面詳細分析配置三種模式的“叢集”所需要的必須配置。可以配置完,體驗一把,就可以主觀地感受三種之間的區別。

元件名稱  屬性名稱 本地模式 偽分散式 完全分散式
Common fs.defaultFs file:///(預設) hdfs://localhost/ hdfs://nanmenode
HDFS dfs.replication N/A 1 3(預設)
MapReduce mapreduce.framework.name local(預設) yarn yarn
Yarn  yarn.resoucemanager.hostname yarn.nodemanager.auxservice N/A N/A localhost mapreduce_shuffle resoucemanager       maperduce_shuffle

 注意:在本地模式下,將使用本地檔案系統和本地MapReduce執行器。在分散式模式下,將啟動HDFS和YARN守護程序。