虛擬機搭建hadoop環境


這里簡單用三台虛擬機,搭建了一個兩個數據節點的hadoop機群,僅供新人學習。零零碎碎,花了大概一天時間,總算完成了。

 

環境

  • Linux版本:CentOS 6.5

  • VMware虛擬機

  • jdk1.6.0_45

主要分為一下幾步完成

 

一、安裝CentOS 6.5

當然了,如果沒有虛擬機,需要先安裝VMware,然后新建虛擬機,選擇系統鏡像即可,復制幾台,比如我的機器4G內存,最多復制兩台,一共三台。

建議這時候把所有機器進入管理員root權限:

[root@blue bin]#su

輸入密碼即可

 

 

二、修改IP

復制的三台機器ip一樣的,需要配置/etc/sysconfig/network-scripts/ifcfg-eth0文件,有幾台修改幾次,vim命令打開:
[root@blue bin]#vim /etc/sysconfig/network-scripts/ifcfg-eth0

修改為:

主機修改為:192.168.183.3

三台機器ip隨便都行,比如改為

192.168.183.3

192.168.183.4

192.168.183.5

 

 

三、免登陸

我們需要讓三台機器能互相進入、控制對方。

1、配置hostname

[root@blue bin]#vim /etc/hosts

所有機器都得有,所以可以直接復制過去

[root@blue bin]#scp -rp /etc/hosts 192.168.183.4:/etc
[root@blue bin]#scp -rp /etc/hosts 192.168.183.5:/etc

 

2、配置network文件

[root@blue bin]#vim /etc/sysconfig/network

編輯HOSTNAME的值,就是給機器取名字:

另外兩台機器也要編輯network文件,比如三台機器分別取名blue、blue2、blue3。

重啟機器,命令輸入hostname:

就會出現剛才設置的名字.

 

 

四、生成key

1、Ssh-keygen命令

[root@blue bin]#ssh-keygen

會生成文件,保存在/root/.ssh/id_rsa,到時候會有提示的,里面有cat id_rsa.pub這個文件。

 

2、對於blue這台機器:

[root@blue bin]#cat id_rsa.pub > authorized_keys

生成authorized_keys文件

在blue2、blue3都執行

[root@blue bin]#ssh-keygen命令

會生成同樣文件,里面包含了控制該機器的鑰匙信息

打開blue2、blue3的id_rsa.pub文件會有形如下面內容,

鼠標選中(自動進入剪貼板),粘貼到blue機器的authorized_keys文件里面,這樣blue(主機)的authorized_keys里面就是三台機器的鑰匙,有了鑰匙,就可以訪問了。

authorized_keys里面是這樣:

 

3、復制鑰匙

把authorized_keys文件遠程復制到blue2、blue3機器里面,這樣每台機器都有其它機器和自己的鑰匙了。
[root@blue bin]#scp –r authorized_keys 192.168.183.4:~/.ssh

[root@blue bin]#scp –r authorized_keys 192.168.183.4:~/.ssh

 

4、檢查
對於blue:
[root@blue bin]#ssh blue2
[root@blue bin]#ssh blue3

 會發現不需要密碼,如果還需要密碼,那就失敗了。重新檢查,大不了從頭再來。

對於另外兩台機器blue2、blue3也同樣ssh命令檢查,不需要密碼,就ok!

 

 

五、Hadoop環境配置

1、關閉防火牆

這就需要關閉三台機器防火牆:

關閉:[root@blue bin]#service iptables stop
檢查:[root@blue bin]#iptables –L

會出現:

表明防火牆成功關閉

 

2、安裝hadoop

在blue機器里面操作

保存hadoop文件,這里是壓縮包,放到共享目錄里面,將其復制到虛擬機blue的/usr/local/src文件夾下面
[root@blue bin]#cp /mnt/hgfs/share/hadoop-1.2.1-bin.tar.gz /usr/local/src
然后進入虛擬機的/usr/local/src下面:
解壓文件
[root@blue bin]#tar -xzvf hadoop-1.2.1-bin.tar.gz

 

3、修改配置文件

進入/usr/local/src/hadoop-1.2.1/conf文件夾,下面有需要配置的文件

1)、修改masters文件

修改為:blue

2)、修改slaves文件

修改為:

blue2

Blue3

3)、修改core-site.xml文件

4)、修改mapred-site.xml

5)、修改hdfs-site.xml

6)、配置環境修改文件hadoop-env.sh

I:安裝java

由於hadoop是基於java的,這里安裝java,並且配置JAVA_HOME環境變量

修改這個文件:

[root@blue bin]#vim ~/.bashrc

如下

JAVA_HOME值就是jdk的安裝路徑,這里安裝在/usr/local/src下面
Ii:[root@blue bin]#source ~/.bashrc 刷新文件,因為剛才修改過,除非重啟

命令:
[root@blue bin]#Java
如果出現一些信息,表明配置java環境成功!
Iii:[root@blue bin]#vim Hadoop-env.sh
末尾加一行
export JAVA_HOME= /usr/local/src/jdk1.6.0_45

以上幾步需要細心,保證不敲錯一個字符!

 

4、復制hadoop到另外兩台機器blue2、blue3
[root@blue bin]#scp -rp /usr/local/src/hadoop-1.2.1 192.168.183.4:/usr/local/src
或者:

[root@blue bin]#scp -rp /usr/local/src/hadoop-1.2.1 blue2:/usr/local/src

因為配置了network文件,每台機器ip與hostname唯一對應,並且重啟生效了,所以用ip與名字是一樣的,如果沒有重啟,需要設置臨時名字:

[root@blue bin]#hostname blue

[root@blue bin]#hostname blue2

[root@blue bin]#hostname blue3

 
[root@blue bin]#scp -rp /usr/local/src/hadoop-1.2.1 192.168.183.5:/usr/local/src
或者:

[root@blue bin]#scp -rp /usr/local/src/hadoop-1.2.1 blue3:/usr/local/src


建議這里再檢查一下三台機器的防火牆是否關了,命令:
[root@blue bin]#Setenforce 0
[root@blue bin]#Getenforce
如果出現Permissive,表明關掉了,否則service iptables stop關掉防火牆。


5、格式化節點
進入目錄:

[root@blue bin]#cd /usr/local/src/hadoop-1.2.1/bin
執行hadoop命令:

[root@blue bin]#./hadoop namenode –format


6、啟動hadoop
[root@blue bin]#./start-all.sh

 

7、這時執行命令:

首先在父親(blue)里面,如果父親都有問題,肯定有問題。
[root@blue bin]#jps

出現的四個與上面圖片的必須一樣,否則表明有前面的5個配置文件有問題,返回去檢查。
如果沒有問題,再對blue2、blue3兩台機器執行命令:
[root@blue bin]#jps
哈哈,會發現錯誤:bash:jps:command not found

其實是不能發現java的環境變量,前面只配置了父親blue的java環境變量。
需要把主機blue的環境變量文件.bashrc復制到兩台孩子機器blue2、blue3的對應位置下面,覆蓋原有的.bashrc文件。需要三台機器jdk位置安裝一樣哦,這里前面都統一安裝在/usr/local/src目錄下面。
[root@blue bin]#scp -rp ~/.bashrc blue2:~/
[root@blue bin]#scp -rp ~/.bashrc blue3:~/

 

還要分別在blue2、blue3里面,記得source ~/.bashrc,重新加載文件,才能生效


8、停止hadoop
[root@blue bin]#./stop-all.sh

繼續5、6步,即在blue里面的hadoop的bin目錄下面,這里所有執行的文件都在bin目錄,下面。
然后在孩子節點機器blue2、blue3命令:
[root@blue bin]#jps:

英文意思是:4609數據節點、4700任務節點

出現的三個必須一樣,否則表明前面的5個配置文件有問題,返回去檢查。然后重復8——5——6——7步驟。

 

如果不出意外,按照這種步驟是可以配置成功的!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM