hadoop體系結構及搭建

用於測試,我用4臺虛擬機搭建成了Hadoop結構

我用了兩個臺式機。一個xp系統,一個win7系統。每臺電腦裝兩個虛擬機,要不然內存就滿了。

 

1、安裝虛擬機環境

     Vmware,收費產品,佔內存較大。

     或

     Oracle的VirtualBox,開源產品,佔內存較小,但安裝ubuntu過程中,重啓會出錯。

     我選Vmware。

 

2、安裝操作系統

     Centos,紅帽開源版,接近於生產環境。

     Ubuntu,操作簡單,方便,界面友好。

     我選Ubuntu12.10.X 32位

 

3、安裝一些常用的軟件

     在每臺linux虛擬機上,安裝:vim,ssh

     sudo apt-get install vim

     sudo apt-get install ssh

     在客戶端,也就是win7上,安裝SecureCRT,Winscp或putty,這幾個程序,都是依靠ssh服務來操作的,所以前提必須安裝ssh服務。

     service ssh status 查看ssh狀態。如果關閉使用service ssh start開啓服務。

     SecureCRT,可以通過ssh遠程訪問linux虛擬機。

     winSCP或putty,可以從win7向linux上傳文件。

 

4、修改主機名和網絡配置

    主機名分別爲:master,host2,host3,host4。

    sudo vim /etc/hostname

    網絡配置,包括ip地址,子網掩碼,DNS服務器。如上圖所示。

 

5、修改/etc/hosts文件。

    修改每臺電腦的hosts文件。

    hosts文件和windows上的功能是一樣的。存儲主機名和ip地址的映射。

    在每臺linux上,sudo vim /etc/hosts 編寫hosts文件。將主機名和ip地址的映射填寫進去。編輯完後,結果如下:

    

 

 

6、配置ssh,實現無密碼登陸

    無密碼登陸,效果也就是在master上,通過 ssh host2  ssh host3  ssh host4 就可以登陸到對方計算機上。而且不用輸入密碼。

    四臺虛擬機上,使用   ssh-keygen -t rsa    一路按回車就行了。

    剛纔都作甚了呢?主要是設置ssh的密鑰和密鑰的存放路徑。 路徑爲~/.ssh下。

    打開~/.ssh 下面有三個文件

    authorized_keys,已認證的keys

    id_rsa,私鑰

    id_rsa.pub,公鑰   三個文件。

    下面就是關鍵的地方了,(我們要做ssh認證。進行下面操作前,可以先搜關於認證和加密區別以及各自的過程。)

    ①在master上將公鑰放到authorized_keys裏。命令:sudo cat id_rsa.pub >> authorized_keys

    ②將master上的authorized_keys放到其他linux的~/.ssh目錄下。

       命令:sudo scp authorized_keys [email protected]:~/.ssh       

               sudo scp authorized_keys 遠程主機用戶名@遠程主機名或ip:存放路徑。

    ③修改authorized_keys權限,命令:chmod 644 authorized_keys

    ④測試是否成功

       ssh host2 輸入用戶名密碼,然後退出,再次ssh host2不用密碼,直接進入系統。這就表示成功了。

 

7、上傳jdk,並配置環境變量。

    通過winSCP將文件上傳到linux中。將文件放到/usr/lib/Java中,四個linux都要操作。

    解壓縮:tar -zxvf jdk1.7.0_21.tar

    設置環境變量 sudo vim ~/.bashrc

    在最下面添加:

    export JAVA_HOME = /usr/lib/java/jdk1.7.0_21

    export PATH = $JAVA_HOME/bin:$PATH

 

    修改完後,用source ~/.bashrc讓配置文件生效。

 

8、上傳hadoop,配置hadoop

    通過winSCP,上傳hadoop,到/usr/local/下,解壓縮tar -zxvf hadoop1.2.1.tar

    再重命名一下,sudo rm hadoop1.2.1 hadoop 

    這樣目錄就變成/usr/local/hadoop

 

    修改環境變量,將hadoop加進去(最後四個linux都操作一次)

    sudo vim ~/.bashrc

    export HADOOP_HOME = /usr/local/hadoop

    export PATH = $JAVA_HOme/bin:$HADOOP_HOME/bin:$PATH

 

    修改完後,用source ~/.bashrc讓配置文件生效。

 

    修改/usr/local/hadoop/conf下配置文件

    hadoop-env.sh,

     

    core-site.xml,

    

    hdfs-site.xml,

    

    mapred-site.xml,

    

    master,

    

    slave,

    

 

    上面的hadoop-env.sh,core-site.xml,mapred-site.xml,hdfs-site.xml,master,slave幾個文件,在四臺linux中都是一樣的。

    配置完一臺電腦後,可以將hadoop包,直接拷貝到其他電腦上。

 

    最後要記得,將hadoop的用戶加進去,命令爲

      sudo chown -R hadoop@hadoop hadoop 

      sudo chown -R 用戶名@用戶組 目錄名

    讓hadoop配置生效

      source hadoop-env.sh

 

    格式化namenode,只格式一次

      hadoop namenode -format

 

    啓動hadoop

      切到/usr/local/hadoop/bin目錄下,執行 start-all.sh啓動所有程序

 

    查看進程,是否啓動

       jps

      master,

      

      host2,

      

      host3,host4,的顯示結果,與host2相同。

發佈了22 篇原創文章 · 獲贊 70 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章