电竞比分网-中国电竞赛事及体育赛事平台

分享

Hadoop環(huán)境搭建——集群篇

 moonboat 2011-05-06

 

在完成單節(jié)點環(huán)境搭建的基礎(chǔ)上進(jìn)行集群環(huán)境搭建

單節(jié)點搭建:http://vampire1126./admin/blogs/891693

 

流程:

       配置階段:

                    配置一系列文件

                    在所有slave節(jié)點上拷貝master和JobTracker的公鑰

                    在JobTracker節(jié)點上拷貝master的公鑰

 

       運(yùn)行階段:

                    啟動hadoop

                    跑wordcount

 

 

集群搭建準(zhǔn)備:

         至少兩臺已完成單節(jié)點搭建的機(jī)器

       (此例為兩臺,IP分別是192.168.1.10與192.168.1.11,其中10為master)

 

 

  配置階段:

          1、配置一系列文件(所有節(jié)點上)

             1、配置etc下的hosts文件

                 sudo gedit /etc/hosts

                (注:打開后將里面的內(nèi)容全部刪除,不刪除的話啟動時會出現(xiàn)所有slave啟動正常,但是master上的DataNode為0,導(dǎo)致系統(tǒng)不能正常運(yùn)轉(zhuǎn)的情況,全部刪除以后添加所有節(jié)點的IP和標(biāo)識符,格式如下

                  192.168.1.10 master

                  192.168.1.11 slave

                  標(biāo)識符可以隨便寫,主要是起到一個映射作用)

 

              2、進(jìn)入hadoop目錄下,配置conf下的masters文件

                  cd /usr/local/hadoop

                  sudo gedit conf/masters

                 (打開后將里面內(nèi)容清空,然后添加“master”或者master的IP“192.168.1.10”,此處即是hosts中配置的映射,填master或者直接填I(lǐng)P都是一樣的)

 

              3、配置conf下的slaves文件

                  sudo gedit conf/slaves

                 (打開后將里面內(nèi)容清空,然后添加“slave”或者slave的IP“192.168.1.11”,原因同上)

 

              4、配置conf下的core-site.xml文件

                  sudo gedit conf/core-site.xml

                 (因為已完成單節(jié)點配置,因此只需要修改就行了。打開后將第一個<property>標(biāo)簽中的localhost改為“master”或者master的IP,如下

Xml代碼  收藏代碼
  1. <property>  
  2.     <name>fs.default.name</name>  
  3.     <value>hdfs://master:9000</value>  
  4. </property>  

                  第二個<property> 標(biāo)簽,即包含<name>dfs.replication</name>一行的那個,其中的“<value>”表示 文件上傳到dfs上時的備份個數(shù),此數(shù)值不能大于slave即datanode的個數(shù))

 

                      5、配置conf下的hdfs-site.xml文件(此配置在slave節(jié)點上可有可無)

                   sudo gedit conf/hdfs-site.xml

                  (打開后在空的<configuration> </configuration>中添加如下配置

Xml代碼  收藏代碼
  1. <property>  
  2.     <name>dfs.replication</name>  
  3.     <value>1</value>  
  4. </property>  
  5.   
  6. <property>  
  7.     <name>dfs.name.dir</name>  
  8.     <value>/home/hadoop/hdfs/name</value>  
  9. </property>  
  10.   
  11. <property>  
  12.     <name>dfs.data.dir</name>  
  13.     <value>/home/hadoop/hdfs/data</value>  
  14. </property>  

 

                      6、配置conf下的mapred-site.xml文件

                   sudo gedit conf/mapred-site.xml

                  (打開后將<value>標(biāo)簽里的localhost改為JobTracker的IP,因為本例中JobTracker也是master本身,所以將localhost改為“master”或master的IP)

 

 

           2、在所有slave節(jié)點上拷貝master和JobTracker的公鑰

               1、拷貝公鑰

                 scp hadoop@master:/home/hadoop/.ssh/id_rsa.pub /home/hadoop/.ssh/master_rsa.pub

                 scp hadoop@master:/home/hadoop/.ssh/id_rsa.pub /home/haddop/.ssh/jobtracker_rsa.pub

                 (注:因為本例中master和JobTracker是同一臺機(jī)器,所以相當(dāng)于在master上拷了兩次公鑰)

 

               2、將拷貝的公鑰添加到信任列表

                  cat /home/hadoop/.ssh/master_rsa.pub >> /home/hadoop/.ssh/authorized_keys

                  cat /home/hadoop/.ssh/jobtracker_rsa.pub >> /home/hadoop/.ssh/authorized_keys

 

           3、在JobTracker上拷貝master的公鑰

               1、拷貝公鑰

                   scp hadoop@master:/home/hadoop/.ssh/id_rsa.pub /home/hadoop/.ssh/master_rsa.pub

                  (注:本例中master和JobTracker是同一臺機(jī)器,所以相當(dāng)于自己拷自己的公鑰.....囧......)

 

               2、添加到信任列表

                   cat /home/hadoop/.ssh/master_rsa.pub >> /home/hadoop/.ssh/authorized_keys

 

 

 

  運(yùn)行階段:

           1、啟動hadoop

                1、在所有節(jié)點上刪除/home/hadoop/下的tmp文件夾(包括master節(jié)點)

                    sudo rm -r /home/hadoop/tmp

                   (注:tmp文件夾內(nèi)部存放有NameNode的ID信息,如果ID不一樣的話是無法正常連接的,此處的刪除操作是為了保證ID的一致性)

 

                2、在master上格式化NameNode

                    hadoop namenode -format

 

                3、啟動hadoop

                    bin/start-all.sh

 

                4、查看各節(jié)點是否正常啟動

                    jps

                   (此語句執(zhí)行后,slave節(jié)點中必須有DataNode,master節(jié)點中必須有NameNode,否則啟動失?。?/span>

 

                5、查看整個系統(tǒng)狀態(tài)

                    hadoop dfsadmin -report

                  (此語句執(zhí)行后能顯示當(dāng)前連接的slave數(shù),即DataNode數(shù))

 

 

            2、跑wordcount

                1、準(zhǔn)備測試文件

                    sudo echo "mu ha ha ni da ye da ye da da" > /tmp/test.txt

 

                2、將測試文件上傳到dfs文件系統(tǒng)

                    hadoop dfs -put /tmp/test.txt multiTest

                   (注:如multiTest目錄不存在的話會自動創(chuàng)建)

 

                3、執(zhí)行wordcount

                    hadoop jar hadoop-mapred-examples0.21.0.jar wordcout multiTest result

                   (注:如result目錄不存在的話會自動創(chuàng)建)

 

                4、查看結(jié)果

                    hadoop dfs -cat result/part-r-00000

 

 

  至此集群環(huán)境搭建完畢~!

補(bǔ)充說明:

            網(wǎng)上文檔中說的關(guān)于“關(guān)閉防火墻”和“關(guān)閉安全模式”,我們在實踐中并未涉及到,如遇到連接不到datanode的問題,請檢查您的hosts文件中是否最上面多出兩行,如果是的話請刪除,然后重新按照“運(yùn)行階段”的步驟來。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多