Hadoop學習筆記(5)-搭建Hadoop分佈式

0.前言

我要搭建的集羣是一臺Master和3臺Worker。先按照以下博客內容配置。
第一步:修改hostname和hosts
http://blog.csdn.net/xummgg/article/details/50634327
第二步:ubuntu下ssh無密碼登入(設置ssh公鑰認證)
http://blog.csdn.net/xummgg/article/details/50634730

1.安裝rsync

這裏寫圖片描述
rsync,remote synchronize顧名思意就知道它是一款實現遠程同步功能的軟件,它在同步文件的同時,可以保持原來文件的權限、時間、軟硬鏈接等附加信息。可以通過ssh方式來傳輸文件。
在4臺機器上都安裝好rsync,可通過ssh進入其他機器並輸入安裝指令。

2.安裝JDK

Hadoop是要安裝在JVM上運行的,所以都要安裝JDK。這裏的操作先在一臺機器上進行,先在Master機器上進行。

2.1 下載JDK

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
選擇linux 64位系統,壓縮凡是tar.gz
這裏寫圖片描述
截圖中時8.73版本。我實際下載的時8.71版本。

2.2 解壓

我下載的在Downloads文件夾裏,所以先直接解壓在當前目錄:
這裏寫圖片描述
複製到local目錄下(我把要安裝的東西都放在了這個目錄下)
這裏寫圖片描述

2.3 配置JDK,JRE環境變量

修改bashrc文件,添加環境變量
這裏寫圖片描述
在文件末尾加入如下內容:
再用soure命令,使其生效:
這裏寫圖片描述

2.4 驗證

輸入java -version,能顯示版本好,就表示JDK配置成功。
這裏寫圖片描述

4臺電腦都要配置jdk,後面配置中會用scp命令來傳輸給其他3臺。

3.安裝Hadoop

繼續先在Master機器上進行單臺配置。

3.1下載Hadoop

下載地址:
http://hadoop.apache.org/releases.html
我選用時2.6.2版本,binary的。
這裏寫圖片描述

3.2 解壓

解壓在當前目錄
這裏寫圖片描述
複製到local目錄下
這裏寫圖片描述

3.3 配置Hadoop環境變量

用vim命令編輯bashrc文件:
這裏寫圖片描述
添加如下內容:
這裏寫圖片描述
保存並退出。再用source使其生效。
這裏寫圖片描述
圖中配置HADOOP_CONF_DIR文件時爲了更好多支持yarn的運行(yarn是個資源管理框架)
監測環境配置是否正確,輸入hadoop version
這裏寫圖片描述
能顯示版本就表示正確。

3.4 單臺設置Hadoop文件配置

Hadoop的配置文件在etc裏的hadoop裏面,我一共是配置了6個文件,core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml,hadoop-env.sh,slaves

  1. 配置core-site.xml
    先cd進入etc的hadoop裏。
    這裏寫圖片描述
    vim命令打開core-site.xml文件
    這裏寫圖片描述
    添加如下配置內容:
    這裏寫圖片描述
  2. 配置hdfs-site.xml
    vim命令打開hdfs-site.xml文件
    這裏寫圖片描述
    添加如下配置內容:
    這裏寫圖片描述
  3. 配置mapred-site.xml
    在目錄裏木有mapred-site.xml文件,只有mapred-site.xml.template文件,先複製這個文件,並命名爲mapred-site.xml,用cp命令複製,代碼如下:
    這裏寫圖片描述
    vim命令打開mapred-site.xml文件
    這裏寫圖片描述
    添加如下配置內容:
    這裏寫圖片描述
  4. 配置yarn-site.xml
    vim命令打開yarn-site.xml文件
    這裏寫圖片描述
    添加如下配置內容:
    這裏寫圖片描述
  5. 配置hadoop-env.sh
    vim命令打開hadoop-env.sh文件
    這裏寫圖片描述
    添加如下配置內容:
    這裏寫圖片描述
  6. 配置slaves
    vim命令打開slaves文件
    這裏寫圖片描述
    修改配置如下:
    這裏寫圖片描述
    這個時候Master裏的Hadoop內容都配置完成了。

3.5 配置Hadoop集羣

直接從Master機器上將JDK,Hadoop,bashrc文件都發送到各個Worker機器上。
scp傳bashrc文件給3臺Worker機器:
這裏寫圖片描述
scp傳hadoop文件夾給3臺Worker機器:
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
scp傳JDk文件夾給3臺Worker機器:
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
並用ssh登入其他worker,用source使每臺的bashrc文件生效。下面只取Worker1機器的操作。
這裏寫圖片描述
到這裏所以相關配置完成了。

4.運行Hadoop集羣

格式化文件系統(必須做):
這裏寫圖片描述
開啓dfs文件系統:
這裏寫圖片描述
用JPS查看當前進行,顯示如下則啓動成功:
這裏寫圖片描述
也可以在WEB瀏覽器等入Master:50070來查看,可以看到我的Live Nodes 顯示有3臺存在,說明成功了。
這裏寫圖片描述
也可以在Live Nodes點進去,查看具體信息:
這裏寫圖片描述
開啓yarn資源管理模塊:
這裏寫圖片描述
再用jps來查看,發現多開啓了個ResoureManager,說明資源管理模塊yarn開啓成功。
這裏寫圖片描述
可以登入到Woker節點,用jps查看,內容如下:
這裏寫圖片描述
還可以再Master:8088上查看內容:
這裏寫圖片描述
再這上面就可以開啓mapreduce。

5.測試Hadoop集羣

在測試中發現我的Mac,跑4臺虛擬機,運行hadoop,內存不夠。所以測試改爲1臺master和2臺worker。請自行修改slave,hosts 文檔。
這裏寫圖片描述

先在hadoop文件系統上創建用戶文件夾,如下圖中前2行代碼。
在本地hadoop目錄下創建一個input文件夾,把hadoop目錄x下的etc/hadoop目錄裏所有xml格式結尾的文件都複製到input文件夾。將本地的input文件夾上傳到遠程hadoop的文件系統上去。(用hadoop的put命令)
這裏寫圖片描述

可以到master:50070裏看下,文件是否上傳成功。
這裏寫圖片描述

運行官方自帶的wordcount程序,將input作爲輸入,將output/wordcount 作爲輸出地址:
這裏寫圖片描述

運行完成後,可以看到root用戶下多了wordcount的結果:
這裏寫圖片描述

獲取分佈式系統上的output文件夾,放到本地hadoop-2.6.2目錄下:
這裏寫圖片描述

進入文件夾內查看結果:
這裏寫圖片描述

還可以在master:8080裏查看job的記錄:
這裏寫圖片描述


XianMing

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章