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
- 配置core-site.xml
先cd進入etc的hadoop裏。
vim命令打開core-site.xml文件
添加如下配置內容:
- 配置hdfs-site.xml
vim命令打開hdfs-site.xml文件
添加如下配置內容:
- 配置mapred-site.xml
在目錄裏木有mapred-site.xml文件,只有mapred-site.xml.template文件,先複製這個文件,並命名爲mapred-site.xml,用cp命令複製,代碼如下:
vim命令打開mapred-site.xml文件
添加如下配置內容:
- 配置yarn-site.xml
vim命令打開yarn-site.xml文件
添加如下配置內容:
- 配置hadoop-env.sh
vim命令打開hadoop-env.sh文件
添加如下配置內容:
- 配置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