Hadoop1.x之hdfs集羣搭建

搭建Hadoop1.x,hdfs所總結的記錄,由於知識和經驗不足,裏面的錯誤和不清楚的地方請您多多包含,若是有疑問評論我必定會及時回覆。java

1. 準備三臺以上的機Linux(node1,node2,node3...),這是個人主機版本node

2. 相互ping通,最好配置hosts的ip和主機名映射linux

3. 時間必定要一致(date命令查看)windows

4. 全部主機之間能夠ssh免密碼登錄瀏覽器

5. 全部的機器上要安裝合適的JDK,並配置好JAVA_HOME,CLASS_PATH,PATH這些變量,我配置在了/etc/profile中,也能夠配置在 ~/.bash_profile,這兩個目錄文件均可以配置路徑和環境變量。bash

配置以下:確保全部機器有同樣合適的JDKssh

6. 關閉防火牆(全部主機)oop

7. 把hadoop(我安裝的是hadoop-2.5.1)解壓在某個目錄下,開始配置文件orm

8. 在/hadoop-2.5.1/etc/hadoop/hadoop-env.sh中  配置JAVA_HOME,在這個文件中找到寫JAVA_HOME的位置,在把本身本機的JAVA_HOME寫上。xml

9. 在相同的目錄下打開 (vi core-site.xml),這裏配置兩個變量,一個用來指定文件系統訪問的方式和位置(namenode),一個用來指定hadoop工做空間位置。這個位置能夠不用手動建立文件夾,格式化以後會自動建立。

10. 配置hdfs-site.xml,這個用來指定經過瀏覽器訪問secondaryNameNode時的端口,具體看下面的。

這個配置好以後,開啓hadoop能夠經過瀏覽器IP加下面的端口訪問secondaryNameNode,一個是http協議的一個是https協議的。但請注意,若是要訪問NameNode時,端口號是50070(默認配置的,也可手更換).

11. 配置slaves(奴隸)文件,也在相同的目錄下,這個文件中指定dataNode的主機,一行寫一個主機,能夠寫主機名,也能夠寫IP,前提是要有hosts的映射文件。下面就是個人三臺主機。

12. 配置masters,這個文件須要本身建立,這個文件中指定secondaryNameNode的主機,在同目錄下建立。

13. 注意上面配置,不要寫錯,配置好以後,經過scp -r 命令把整個hadoop安裝目錄,發送到其它幾臺主機上,在其它主機上的位置要和這臺主機的位置如出一轍。

14. 爲了之後方便直接在任何位置敲hadoop的命令,咱們配置一下hadoop的環境變量,就像配置Java環境變量的目的同樣。這個變量能夠配置在~/.bash_profile(「~」對應的用戶可使用)或者配置在/etc/profile(全部用戶均可以使用)中。

15. 而後在把配置環境變量的文件經過scp -r 命令拷貝到其它機器的相同位置上。

16. 開始在nameNode上格式化!命令:hdfs namenode -format   注意:等待格式化完成,沒有出現意外的話(格式化狀態代碼返回爲:0),就會生成上面(9.步)配置的那個hadoop工做目錄這個目錄下的dfs/name/current中存放下面的這些東西,看到fsimage了嗎?(不要糾結我有多個,由於我不是第一次運行hdfs了。)

17. 啓動hdfs,命令:start-dfs.sh,正常啓動見下圖:看到了嗎,很清楚的寫明瞭namenode,datanode,secondarynamenode是哪幾臺機器。

18. 能夠經過jps命令查看當前主機啓動的java程序,以下:說明我啓動了JPS和NameNode的java程序。(這樣理解可能不許確,本身上網查查)

19. 經過瀏覽器訪問,nameNode,訪問nameNode的主機+端口(50070):個人便是192.168.1.111:50070,頁面以下:(說明就hdfs初步搭建告成!)

20 .訪問secondaryNameNode:主機+端口(50090或者50091(https)):個人是192.168.1.112:50090

搭建完成,多臺機器搭建其實很簡單的,其本質就是一個簡單的文件系統,咱們經常使用的文件系統有windowsNTFS,linux的樹狀文件系統等

可使用:關閉hdfs的命令:stop-all.sh。

相關文章
相關標籤/搜索