1. 程式人生 > >Hadoop2.8 安裝心得

Hadoop2.8 安裝心得

    一、從下載badoop、安裝jdk、配置ssl無密碼登入等內容都是一步步的按照《細細品味hadoop》來進行

            區別在於,細細品味是以1.x為標杆編寫的。所以關於2.x的配置檔案的寫法,參考本文而非《細細品味》

    二、2.x的最大進步在於,引入了yarn,在這個系統中,mapreduce成為了它的一個元件而存在,並且是可替換的元件。比如使用spark。所以配置的過程中,需要注意yarn的相關配置檔案的使用

    三、具體配置共有7個,包含以下內容

~/hadoop/etc/hadoop/hadoop-env.sh
~/hadoop/etc/hadoop/yarn-env.sh
~/hadoop/etc/hadoop/slaves
~/hadoop/etc/hadoop/core-site.xml
~/hadoop/etc/hadoop/hdfs-site.xml
~/hadoop/etc/hadoop/mapred-site.xml
~/hadoop/etc/hadoop/yarn-site.xml

        1:hadoop-env.sh

該檔案是hadoop執行基本環境的配置,需要修改的為java虛擬機器的位置。

故在該檔案中修改JAVA_HOME值為本機安裝位置(如,export JAVA_HOME=/usr/local/java/jdk1.7.0_79)


        2:yarn-env.sh

該檔案是yarn框架執行環境的配置,同樣需要修改java虛擬機器的位置。

在該檔案中修改JAVA_HOME值為本機安裝位置(如,export JAVA_HOME=/usr/local/java/jdk1.7.0_79)

3:slaves

該檔案裡面儲存所有slave節點的資訊,我這裡寫的是ip


說明:slaves檔案中可以寫ip地址,也可以寫成/etc/hosts裡從機的主機名,任選一種即可

比如寫主機名可以是這個形式:xxCentosTwo、xxCentosThree


        4:core-site.xml

這個是hadoop的核心配置檔案,這裡需要配置的就這兩個屬性,fs.default.name配置了hadoop的HDFS系統的命名,位置為主機的9000埠;hadoop.tmp.dir配置了hadoop的tmp目錄的根位置。需要新建一個tmp目錄


這裡有個最大的問題,就是使用了ip地址。這樣維護性比較差,當你的ip地址修改的話,如果這裡每一個地方都寫ip,那麼每一個配置檔案都要修改,工作量巨大。還是寫主機名更方便。


        5:hdfs-site.xml

這個是hdfs的配置檔案,dfs.http.address配置了hdfs的http的訪問位置;dfs.replication配置了檔案塊的副本數,一般不大於從機的個數。這部分我不明白


        6:mapred-site.xml

這個是mapreduce任務的配置,由於hadoop2.x使用了yarn框架,所以要實現分散式部署,必須在mapreduce.framework.name屬性下配置為yarn。mapred.map.tasks和mapred.reduce.tasks分別為map和reduce的任務數,至於什麼是map和reduce,可參考其它資料進行了解。

其它屬性為一些程序的埠配置,均配在主機下。


        7:yarn-site.xml

該檔案為yarn框架的配置,主要是一些任務的啟動位置


    四、至此,配置性內容都已完成。後面就是啟動和驗證

         在任意位置執行dfs namenode -format(因為按照《細細品味》中的操作,已經把hdfs這些命令配置到環境變數中了,所以不需要在前面加上./bin/這些東西了。)這一步是格式化namenode

        然後在 /usr/local/hadoop/sbin/下執行./start-all.sh。啟動所有該啟動的內容即可,如果過程中出現停止在那裡不動的,可以考慮是否因為ssh的問題,可以先執行ssh 到其他的datanode去試一下之前配置的無密碼ssh是否正確。如果正確並且也驗證過這個無密碼的ssh的話,這個./start-all.sh應該會正常執行完畢。

        如果有其他異常的話,可以參考logs中的日誌。

        正常啟動後,namenode上面執行的程序有:namenode secondarynamenode resourcemanager

        而datanode上面執行的程序有:datanode nodemanager

        檢查啟動結果:

        1、檢視叢集狀態:hdfs dfsadmin –report

        2、檢視檔案塊:hdfsfsck / -files -blocks

        3、檢視hdfs:http://192.168.122.11:50070(主機IP)

        4、檢視MapReduce:http://192.168.122.11:8088(主機IP)