2012年11月26日 星期一

CentOS 6.3_Hadoop除錯(一)

繼上一篇文章:CentOS 6.3_Hadoop安裝及前置作業(一) ,

(http://landyworknotes.blogspot.tw/2012/11/centos-63hadoop.html)

開始要除錯~~~

流程一、我輸入jps的時候,CentOS顯示查無此命令的意思。
    
     指令:yum search openjdk
        
                 yum install java-1.6.0-openjdk-devel.x86_64

                     
                 輸入jsp,有跑出數值來是正確的。









流程二:

1.到路徑:cd hadoop-1.1.0/conf

2.設定masters及slaves。
  
   2.1 到masters內加上hadoop1,到slaves 內加上hadoop2及hadoop3。




















2012年11月22日 星期四

CentOS 6.3_Hadoop安裝及前置作業(一)

Hadoop安裝前置作業(一)

系統:CentOS 6.3
工具:VMware 9

本文章測出來為,單機模式,自己是namenode 也是 datanode。

參考網址:

http://programer-learn.blogspot.tw/2012/04/hadoop.html

Fenriswolf 程式筆記:

http://fenriswolf.me/2012/05/25/hadoop-%E5%8F%83%E6%95%B8%E8%A8%AD%E5%AE%9A-hdfs-site-xml/ 
    

基本系統環境:

1、設定三台Hadoop(Name: Hadoop1、Hadoop2、Hadoop3)

2、設定IP(192.168.1.131,192.168.1.132,192.168.1.133)

      指令:
      2.1 更改網路IP:system-config-network (設定完reboot)

            (到Virtual Network Editor內看NAT Settings,GW為192.168.1.2)

      2.2 更改 hostname:
            路徑:#vim /etc/sysconfig/network (Hadoop1)
                        #vim /etc/hosts (新增:192.168.1.131  Hadoop1 //在這修改hostname)
                                         (新增:192.168.1.132  Hadoop2 //在這修改hostname)
                                         (新增:192.168.1.133  Hadoop3 //在這修改hostname)
      
             注意:因為對LINUX不熟,所以我在PING 域名這一塊花了較多的時間,記得
                         要到 /etc/hosts加入DNS解析,這樣其他台設備才PING的到某台的域名。

      2.3 三台內部都要可以Ping IP及域名成功,做Hadoop才不會有問題。
       
      2.4 請勿使用root來操作。

4、前置流程

      4.1 更新套件  yum update

      4.2 安裝Java (安裝完後,下which java / java -version,會顯示java路徑/版本)

      4.3 到此路徑 /etc/init.d/,啟動SSH

               service sshd restart
              
               yum list installed | grep ssh

               解說:
              
               yum list installed <-列出所有已安裝的程式

               | <- 管線,把前面結果傳遞給後面

      補充1:

      事實上,在我們使用的 Linux 系統當中,預設就已經含有 SSH
      的所有需要的軟體 了!這包含了可以產生密碼等協定的 OpenSSL
      軟體與 OpenSSH 軟體 (註1),所以呢,要啟動 SSH 真的是太簡單
      了!就直接給他啟動就是了!
     
      參考網址:http://linux.vbird.org/linux_server/0310telnetssh.php#ssh_start

      補充2:

      ssh server 用來1.scp復製檔案,這樣不必逐台設定
      從其中一台(namenode)可以去啟動所有的datanode,
      方便管理而已,因為如果有幾百台的話~~

      附帶好處才是我們可以用ssh client連進去

      補充3:

      SSH啟動後,就可以用PUTTY連線了。

   4.4 啟動 SSH 需要輸入密碼,這裡將SSH變成無密碼登入,首先必須先產生一組公鑰,
       以下以DSA為例:
  
       指令:ssh-keygen -t dsa  (接下來會看到三個問題,按Enter即可)     

 


 
      4.5  指令:ls -al,找隱藏檔.ssh(路徑:root/.ssh/)

                                     可以看到一個id_dsaid_dsa.pub的檔案
          
     補充1:
 
     在哪個帳號底下的.ssh裡面,放的就是登入那個帳號或者是用
    
     那個帳號去登入別台機器用的key跟設定。

     補充2:

     .ssh放了三個檔案,一個是自己的key,一個是其他機器的key,
    
     一個是驗證過的key,驗證過的key跟自己的key是同內容的檔案
 





     三台都一樣所以才能夠作到 ssh nodex 能夠互相無密碼。
    
     補充3:
     
      若再重做此項動作, 必須先把各端的~/.ssh下面檔案全數刪除,始可再做下面步驟
           
           補充4:
          
           若要刪除.ssh,輸入命令:  ssh-keygen  -t  dsa  -P  ''  -f  ~/.ssh/id_dsa
 
      ps: ''是兩個單引號, 不是一個雙引號

 
  4.6 將id_dsa.pub導入到SSH的認證公開金鑰檔

      指令:cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
   
      接著輸入 

      指令:ssh localhost 檢查看看會不會要你輸入密碼。

      補充:
      authorized_keys 為SSH的認證公開的金鑰檔。
      id_dsa.pub    public key

5.安裝Hadoop

  5.1 下載Hadoop
     
      我這邊下載的檔案是"hadoop 1.1.0.tar.gz"

      到官網上面去下載,網址:

      http://hadoop.apache.org/releases.html#Download

                   可以看一下每一個版本的詳細(下圖)

 
圖二:
                 1、選擇hadoop-1.0.0下載
                 2、注意,不要選擇hadoop-2.0.2-alpha版,
                    alpha 是 beta 版之前的版本(不穩定)。

 
  5.2 解壓縮檔案指令:tar -zcvf hadoop 1.1.0.tar.gz
     
  5.3 進入hadoop-1.1.0目錄下的 conf 資料夾內
 
      路徑:cd /hadoop-1.1.0/conf

     
  5.4 要修改四個檔案:
     
      Hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml
  
  5.5 使用vi進入這四個檔案

      5.5.1 Hadoop-env.sh

            加入JAVA的路徑,我習慣將原本系統預設的留著,加#。

            export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0,0.x86_64/jre

   注意:這邊java的路徑要確定正確,不然接下來執行"5.6.4"步驟的時候會有問題。
          (5.6.4 執行指令:bin/hadoop namenode -format)
          
 

     5.5.2 core-site.xml (指定HDFS的瀏覽位址)

          <configuration>
             <property>
               <name>fs.default.name</name>
               <value>hdfs://localhost:9000</value>
             </property>
          </configuration>
  
     5.5.3 hdfs-site.xml
 
           <configuration>
              <property>
                <name>dfs.replication</name>
                 <value>1</value>
              </property>
           </configuration>
       
           參考網址:
           http://fenriswolf.me/?s=mapred-site.xml

      5.5.4 mapred-site.xml

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

5.6  到cd/hadoop-1.1.0
     執行指令:bin/hadoop namenode -format


 
 
5.7 啟動Hadoop
 
             指令~/hadoop-1.1.0/bin/start-all.sh
 
 
 
5.8 Hadoop瀏覽看有無正常運作