三:搭建hadoop

一、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  能夠讀。

相關文章
相關標籤/搜索