一、hadoop須要java的支持,因此安裝hadoop須要安裝java。java
二、hadoop集羣配置,須要多個linux環境。把master的linux鏡像,複製,複製成另外兩個slave的環境。複製的時候,必定要把環境處於掛起的狀態。把另外兩個鏡像的文件夾的名字改一下,slave1和slave2。而後打開虛擬機,把這兩個鏡像都打開。這三個同時運行。node
三、複製以後,master能夠上網,另外兩個slave不能上網,由於局域網內的ip出現了相同的ip,那麼怎麼解決這個問題呢。應該先把這兩個slave的ip改一下。linux
四、cd /etc/sysconfig/network-scripts/ vim ifcfg-eth0 ----> 把ip改爲和master不同的。而後從新啓動網絡服務:/etc/init.d/network restart 可是修改完ip後仍是上不了網,緣由是由於slave的配置是copy master的,因此二者用的網卡都是一個,固然上不了了。因此咱們先把slave1的網卡卸載掉,卸載的方法是點擊VMware右下角的兩個小電腦圖標,而後點擊設置,把網絡適配器移除,而後再添加一個新的網絡適配器(nat模式),點擊肯定。 這回就能夠上網了。那麼slave2也是一樣的操做。這樣就能夠上網了。vim
五、而後用secureCRT鏈接3個linux,均可以上網了。如今已經完成了3臺Linux的上網工做,接下來就是來完成Hadoop集羣的安裝。windows
六、首先咱們要把Java安裝上。主節點須要額外的內存開銷,因此給主節點多點內存,從節點須要額外的磁盤資源。bash
七、安裝Java。Java的安裝包已經下載到了windows桌面上了,那麼咱們怎麼給Linux,經過共享目錄的方式:VMware怎麼設置共享目錄?----》點擊master標籤,右鍵,設置,點擊選項,點擊共享文件夾,右邊設置成「老是啓動」,下邊添加java安裝包的文件。而後完成肯定。那麼咱們怎麼看是否共享成功了呢?咱們:cd /mnt/hgfs/ ---> ls 就會看到咱們的共享的文件夾了。 接下來,咱們把這個文件夾拷貝一下----》 cp jdk /usr/local/src/ 把文件拷貝到了 /usr/local/src/ 這個文件夾下。進入/usr/local/src文件夾下,運行jdk文件:./jdk. 到這裏,Java就安裝成功了。接下來咱們須要編輯一下環境變量,咱們得找到java安裝包的目錄,把這個地址給JAVA_HOME;再把Java安裝包下的lib配置給CLASSPATH;再把Java安裝包下的bin配置一個PATH:vim ~/.bashrc ------------》 export JAVA_HOME = /usr/local/src/jdk1.6 export CLASSPATH = 。:$CLASSPATH:$JAVA_HOME/lib export PATH = $PATH:$JAVA_HOME/bin 編輯完畢,讓./bashrc文件生效:source ~/.bashrc 如今執行Java就能夠了。網絡
八、如今master的java安裝好了,如今就是該安裝slave的Java了。如今把master的java包遠程複製給slave:cd /usr/local/src/ ------> scp -rp jdk1.6.bin 192.168.183.11:/usr/local/src/ 而後編輯slave機器的~/.bashrc文件配置環境變量。ssh
九、如今3臺機器的Java已經安裝完畢,如今開始安裝咱們的Hadoop集羣。oop
Hadoop壓縮包如今已經在/usr/local/src下,咱們對壓縮包進行解壓:tar xvzf hadoop.tar.gz。解壓完畢後,會在當前文件夾下產生一個hadoop1.2文件,咱們進入到這個目錄裏邊,咱們在這個目錄裏邊新增一個tmp目錄,目的是用來存放之後的臨時文件。3d
緊接着咱們進入Hadoop1.2文件下的conf配置目錄下:
a:咱們修改裏邊的masters文件:編輯成----》master 保存退出。
b:咱們再修改下slaves文件:編輯成---》slave1 slave2 保存退出
c:咱們再修改下core-site.xml文件:
d:咱們再修改mapred-site.xml文件:
e:咱們再修改hdfs-site.xml文件:
f:咱們再修改hadoop-env.xml文件:
增長了java_home的路徑。
緊接着咱們開始配置本地網絡配置:
vim /etc/hosts ------> (把ip地址記錄下來,而後編輯:) 192.168.183.10 master 192.168.183.11 slave1 192.168.183.12 slave2 配置這個hosts文件的目的是咱們能夠之後不用ip來訪問機器,直接用名稱來訪問,至關因而配置當前機器的DNS;配置完hostname以後使其生效:hostname master 可是這樣還不是永久生效,那麼怎麼才能永久生效呢,咱們還須要修改:vim /etc/sysconfig/network -------> HOSTNAME = master 如今咱們又配置了2個文件。
如今咱們master機器的配置差很少配好了。接下來咱們去/usr/local/src/ 把hadoop文件拷貝給slave機器。 cd /usr/local/src/ ----> scp -rp hadoop1.2 192.168.183.11:/usr/local/src/
剛纔咱們在master節點上修改了hosts和network文件,因此咱們也得在slave節點上修改這兩個文件。
接下來爲了不咱們網絡鏈接上的問題,咱們應該把咱們的防火牆關閉,-----------》/etc/init.d/iptables stop .除了這個防火牆可能會影響咱們網絡傳輸的問題,還會有其餘的緣由,好比selinux,咱們須要把這個設置一下:setenforce 0 再 getenforce----------》Permissive
接下來咱們該創建每臺機器的戶性關係:就是ssh鏈接其餘機器時,不須要密碼: 在master節點上執行:ssh-keygen 而後回車, 接下來cd~/.ssh/ ls下,有4個文件,id_rsa.pub(公鑰文件) id_rsa(私鑰文件),咱們要把三臺機器的公鑰文件的內容拷貝給authorized_key這個文件裏。接下來把master這個文件拷貝到slave機器上去。
這樣的話 這三臺機器遠程鏈接時,都不須要密碼了。
十、接下來咱們進入到/usr/local/src/下,cd hadoop1.2.1下 ls下 cd bin ls下 開始啓動下咱們的hadoop集羣,咱們第一次啓動的時候,須要對咱們的namanode進行格式化。 ./hadoop namenode -format 格式化完成以後,咱們直接./start-all.sh 啓動集羣。敲入jps查看進程。
11.咱們驗證下這個hdfs可不能夠用。敲一個hadoop命令:./hadoop fs -ls / ---------》查看當前環境下hdfs,查看到了一個目標。 咱們往這個集羣裏面上傳一個文件試試:./hadoop fs -put /etc/passwd / 那麼這個文件可不能夠讀出來呢?./hadoop fs -cat /passwd 能夠讀。