一、概述前些日子開始著手高校雲平台的搭建,其中涉及很重要的一部分是hadoop叢集測試環境的安裝與配置,大概用了兩天的時間,終於搞定了基本輪廓,把我的經驗分享給大家。二、硬體環境1、windows 7 旗艦版 64位2、VMware Workstation ACE 版 6.0.23、Redhat Linux 54、Hadoop-1.2.0
Windows |
VM |
虛擬機器Linux |
IP |
作用 |
Window 7 64位 |
VMware Workstation |
Redhat1 |
192.168.24.250 |
NameNode、master、jobTracker |
Redhat2 |
192.168.24.249 |
DataNode、slave、taskTracker |
Redhat3 |
192.168.24.248 |
DataNode、slave、taskTracker |
三、安裝 VMware Workstation 和Redhat Linux 51、VMware Workstation和Redhat Linux 5的安裝,網上到處都是,我也是在網上隨便找的,你可以找寫得更詳細準確的,這裡不再贅述,可參考:http://www.docin.com/p-30647520.htmlhttp://wenku.baidu.com/view/1bfeb7651ed9ad51f01df2c9.html註:當你在虛擬機器上安裝完一個Linux後,不要重複安裝步驟,使用虛擬機器帶的複製功能,可以很容易複製出多台一模一樣的Linux。可參考:http://wenku.baidu.com/view/befc8052be23482fb4da4c29.html完成這一步驟後的效果 四、安裝配置Hadoop1、安裝hadoop前先配置Linux(1)更改三台機器的網路連接方式選中要更改的虛擬機器,右擊-設定(Settings) (2)以root使用者登入Linux,設定IP地址和預設閘道(三台機器都要設定)
輸入vi /etc/sysconfig/network-scripts/ifcfg-eth0 ,(vi的使用不再贅述,不懂自己網上查)修改該檔案內容為:DEVICE=eth0BOOTPROTO=staticIPADDR=192.168.24.250GATEWAY=192.168.27.254NETMASK=255.255.255.0ONBOOT=yes
IP地址和預設閘道根據自己需要進行設定(3)配置虛擬機器的主機名稱(三台機器都要設定)輸入vi /etc/sysconfig/networkNETWORKING=yesNETWORKING_IPV6=yesHOSTNAME=redhat1(4)配置主機名稱與ip地址的對應關係(三台機器都要設定)輸入 vi /etc/hosts127.0.0.1 localhost192.168.24.250 redhat1192.168.24.249 redhat2192.168.24.248 redhat3
這是標準內容。去掉多餘的,否則可能出現Hadoop在master查看live
nodes為0(5)關閉防火牆(三台機器都要設定)輸入 chkconfig iptables off 開機不啟動防火牆輸入 service iptables stop 關閉當前防火牆服務當然也可以設定防火牆對hadoop允許存取,為了簡單起見,我這裡就直接關閉防火牆了。(6)測試網路是否聯通設定完成之後,在每台虛擬機器之間執行ping命令,保證虛擬機器之間網路沒有問題如:ping 192.168.24.2492、建立linux之間ssh無密碼登入這個網上也到處都是,參考:http://www.2cto.com/os/201301/186673.htmlhttp://www.linuxidc.com/Linux/2008-09/15952.htm到此為止,鋪墊工作算是做完了。3、安裝和配置JDK(三台機器都要安裝)這個參考我的文章http://www.jialinblog.com/?p=74http://blog.csdn.net/shan9liang/article/details/91170214、安裝hadoop(三台機器都要安裝)(1)到hadoop官網下載hadoop1.2.0(2)使用ftp上傳到linux,如果不懂,可以參考我的文章:http://blog.csdn.net/shan9liang/article/details/9110559http://www.jialinblog.com/?p=64(3)解壓安裝進入hadoop-1.2.0.tar.gz所在的目錄輸入:tar -zvxf hadoop-1.2.0.tar.gz即安裝完畢5、配置Hadoop(三台機器都要設定)(1)配置hadoop環境變數和設定jdk環境變數一樣命令:vi /etc/profile在檔案最後輸入:export HADOOP_HOME=/usr/local/hadoop-1.2.0export PATH=$PATH:$HADOOP_HOME/bin執行命令source /etc/profile 使profile生效(2)配置hadoop運行參數更改hadoop安裝路徑下/conf/hadoop-env.sh的檔案(三台機器都要設定)第9行加入export JAVA_HOME=/usr/java/jdk1.7.0_21更改hadoop安裝路徑/conf/masters和slaves兩個檔案。(只配置192.168.24.250虛擬機器)masters中輸入:192.168.24.250slaves中輸入:192.168.24.249192.168.24.248配置hadoop安裝路徑/conf/core-site.xml、hdfs-site.xml和mapred-site.xml三個檔案。(三台機器都要設定)core-site.xml:<configuration> <property> <name>fs.default.name</name> <value>hdfs://192.168.24.250:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/tmp</value> </property></configuration>hdfs-site.xml:<configuration> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property></configuration>mapred-site.xml:<configuration> <property> <name>mapred.job.tracker</name> <value>192.168.24.250:9001</value> </property></configuration>(3)格式檔案系統命令:Hadoop namenode –format至此hadoop已經安裝配置完畢了。五、測試1、啟動hadoop在192.168.24.250機器上執行如下指令,啟動hadoop安裝目錄bin下:Start-all.sh 對於hadoop來說,啟動所有進程是鼻血的,但是如果有必要,你依然可以只啟動HDFS(start-dfs)或MapReduce(start-mapred.sh)Web瀏覽器監視HDFS檔案系統狀態和MAPREDUCE執行任務的情況。HDFS檔案系統瀏覽器中輸入:http://192.168.11.188:50070/ 瀏覽器中輸入:http://192.168.11.188:50030 2、運行hadoop內建的wordcount樣本依次執行命令:echo “It is a dog”> input1echo "it is not a dog" > input2hadoop fs -mkdir inputhadoop fs -copyFromLocal /root/input* inputhadoop jar /usr/local/hadoop-1.2.0/hadoop-examples-1.2.0.jar wordcount input output可以查看運行狀態http://192.168.24.250:50030 查看運行結果 至此全部成功!六、總結利用多台虛擬機器類比的hadoop叢集環境基本搞定,剩下的就是根據需要再做詳細的配置了。如果要移植到物理存在的機器上,只需把虛擬機器上的安裝方式直接搬過去用就可以了。接下來,還會繼續出一篇文章介紹eclipse串連遠程hadoop叢集進行開發,其中也涉及一些比較麻煩的問題,不過幸好都解決了,馬上整理出來,期待吧。