追蹤
NEIL's_學而時習之x不學無術~私藏IT技術經驗分享部落
關於部落格
NEIL. Cheng....寫作只是為了日後工作之備忘操作參考

本部落格文章撰寫前進邁向第五年(since 2009 ~至今)仍繼續推進分享IT學習!!About Windows/Linux Server,Virtualization


分享網誌: 由於,本人預先完成LAB後,才補上撰寫文章與截圖,若發現文圖對照說明有誤..本人將盡快校正,也請不吝指教! Thanks!

  • 163898

    累積人氣

  • 99

    今日人氣

    0

    追蹤人氣

Hadoop分散式雲端運算平台單一節點建置By Near

 (1.) Hadoop 環境運行之配置

        1-1:  官網下載java jdk 與hadoop 相關套件_再此不多言

                 本例
: java jdk使用1.7.0.5  hadoop使用1.0.3 

                 安裝Jdk:  rpm -Uvh jdk-7u3-linux-x64.rpm   #升級RPM方式安裝JDK

                 修改/etc/profile 檔案加入JAVA環境變數配置
 
                  vi /etc/profile                #修改完成,生效設定: source  /etc/profile

                 
JAVA_HOME=/usr/java/jdk7.05
                 CLASSPATH=.:$JAVA_HOME/lib
                 PATH=$JAVA_HOME/bin:$PATH
                export JAVA_HOME CLASSPATH PATH
                  
   驗證JAVA配置是否正確運行
   #  java  -version           #可得到jave版本為1.7.0_05 為配置正確            
                  

    1-2: 配置User/Group  Hadoop 身分專門執行Hadoop平台

             useradd  hadoop

    1-3: 配置/etc/hosts檔案,與check hostname 主機對應外部IP為正確(多台主機可互PING)

            本例:  192.168.0.201 ma201   #NameNode & DataNode 本例為單一台主機測試
 
            192.168.0.202  ma202  #PS:若要施作多台主機分散運算請加入該主機/IP紀錄

   1-4: 切換Hadoop 身份產生SSH 安全傳輸金鑰:  讓節點間同步時金鑰驗證無須再詢問密碼

            su  hadoop


            ssh-keygen -t rsa -P ""

            cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys  #chmod 600 ~/.ssh/authorized 

             ssh ma201  
     #登入無訪問密碼即可(本圖中MA_201請替換為ma201實驗後面已修改過)
 
                                            環境中有多節點請將authorized_keys複製到各節點主機即可

 
(2.)  Hadoop 程式安裝與配置檔組態

         2-1:解壓縮hadoop.103.tar.gz 檔並更名目錄hadoop103 #個人喜好變更hadoop名稱

        su hadoop   #切換hadoop身分與/home/hadoop目錄

        tar zxvf hadoop.1.0.3.tar.gz  

        mv  hadoop.1.0.3   hadoop103  #hadoop程式執行目錄位址:/home/hadoop/hadoop103

        2-2 : 編輯hadoop主要設定檔:

        hadoop-env.sh ,core-site.xml , hdfs-site.xml mapred-site.xml

        cd ~/hadoop103/conf
 
        vi   hadoop-env.sh   #hadoop運行環境變數配置,參考如下

       export JAVA_HOME=/usr/java/jdk7.05  #指定java執行位址,本例:/usr/java/jdk7.05
       export HADOOP_HOME=/home/hadoop/hadoop103  #指定hadoop home目錄
       export HADOOP_HOME_WARN_SUPPRESS=1 #1.0.3 Warn訊息出現解決請加入
       
                     

        vi core-site.xml  #hadoop設定檔案,以網頁監控各節點NameNode主機設定檔

     
  configuration>
       <property>
       <name>fs.default.name</name>    #指定namenode主機資訊為本機:9000 _單機測試
        <value>hdfs://localhost:9000</value>
       </property>
     </configuration>


      
vi  hdfs-site.xml  #HDFS 分散檔案資源配置:可指定 NameNode及DataNode位置  

     
<property>
    <name>dfs.replication</name>  #預設沒指定資源路徑:分配到hadoop底下dfs資料夾
    <value>1</value>
    </property>


 
   
 vi  mapred-site.xml  #此程式檔案專用於監控MAP/REDUCE程式設定檔

   
<configuration>
  <property>
    <name>mapred.job.tracker</name>
    <value>localhost:9001</value>
  </property>
</configuration>



(3.)  Hadoop NameNode 初始化與啟動 

      3-1

     
       cd ~/hadoop103/bin  
 #bin目錄底下為hadoop相關操作指令 

       ./hadoop  namenode -format   #格式化NameNode,若遭遇錯誤建議修正錯誤後

                                                                將/home/hadoop/dfs 資料夾移除,重新格式化如下
  

   3-2  格式化完成後我們要啟動Hadoop NameNode 

    ./start-all.sh              #start-all.sh將啟動所有服務,部分指令支援獨立啟動與停止
    

  啟動完成我們可以開啟Broswer確定以下幾個Port號是否啟動運作正常,反之檢查設定
 
   50030:  #查看NameNode資訊
   50070:  #查看Job Tracker 資訊

  
(3.)  Hadoop範例程式執行測試

      3-1

      WordCount: 測試每一種英文字出現在總次數統計

      
cd /home/hadoop/hadoop103   #切換在hadoop home目錄下

      mkdir wordcount           #目錄可自取名
 
      echo "wrere rerere rererer rerere" > wordcount/file1   #新增隨意英文字到數個檔案做測試
      echo  "twrw uco smala ouem tpt p" > wordcount/file2

      將wordcount 這目錄裡檔案預先指定為Map/Reduce 工作item

      hadoop dfs -put ./wordcount input
 
      hadoop  jar hadoop-1.0.3.jar wordcount input ouput   #執行Map/Reduce程式工作

   
     3-2: Log 事件偵錯

     hadoop 產生log 為於hadoop103/logs 資料夾底下,以利我司偵錯
     
  3-3 : job checker 頁面可瀏覽map/reduce 工作情況

       http://192.168.0.108:55030  #本例IP主機為192.168.0.108,Port號為: 55030

     下圖中我們可以看到有一個task 名 wordcount 正在Runing , DataNode由於是單機測試

       故只有一個Data Node運行(日後將分散主機測試成果附上),下一步我們點選

       編號: job2012_07181010_0001  進一步查看工作內容3-2
 

  3-2: 下圖中我們可以看到有兩個map 1個reduce 工作完成,

   job setsup : success   #job成功執行之字樣工作完成時間1min多(多數節點運算效率更佳) 



   3-3: 最後我們還可以使用Name Node 專屬監控界面監控一些資訊

   
 http://192.168.0.108:55070  #本例IP主機為192.168.0.108,Port號為: 55070
    
 總結: 
 
 Hadoop 很有彈性整個數個子專案為本人後續研究目標,當然有一些指令本篇未介紹日後將慢漫分享

相簿設定
標籤設定
相簿狀態