2012年4月13日 星期五

【Hadoop】安裝配置

本文介紹在一個 Linux 的環境下建立一個 Hadoop

首先我的環境是 Ubuntu 10.10  (非虛擬機下)

在接下來的動作之前  請記得先讓你的環境可以上網

這裡提供簡單的 Ubuntu 的有線上網設定 (自動取得IP)

eth0 是我的有線網卡

sudo gedit /etc/network/interfaces


iface etho inet dhcp


sudo /etc/init.d/networking restart


sudo ifup eth0

接下來進入正題,再安裝 Hadoop 之前必須要先安裝 Java

主要是因為 Hadoop 是基於 Java 開發的

在 Ubuntu 的環境中要安裝Java的話,有很多指令

可是有些指令下去之後 會出現類似以下的錯誤

Package 'sun-java6-plugin' has no installation candidate

之後有找到一段指令 是確定可以安裝 JDK 的


sudo add-apt-repository ppa:ferramroberto/java


sudo apt-get update


sudo apt-get install sun-java6-jdk sun-java6-plugin

安裝完成之後 java -version 指令可以查看一下你安裝 Java 的資訊

Java 安裝完成之後,接下來就是要安裝 SSH

以下是安裝 SSH 的指令:

sudo apt-get install ssh

安裝完成之後,由於啟動 SSH 總是需要輸入密碼,因此底下介紹將SSH變成無密碼登入

首先必須先產生一組公鑰,你可以透過RSA或是DSA來產生,以下我以DSA為例

ssh-keygen -t dsass透過 ssh-keygen 來產生金鑰


指令下去之後會問你三個問題,主要是跟存放目錄有關,這裡我們不做更動


因此都一直按下 Enter 鍵就好。


而SSH的預設目錄是在 /home/abc/.ssh/ 下 (其中 abc 是你的Linux使用者名稱)


你可以到 /home/abc/.ssh/ 中應該可以看到一個id_dsaid_dsa.pub的檔案


接下來我們必須要將id_dsa.pub導入到SSH的認證公開金鑰檔


cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys


從上面的指令可知,authorized_keys 就是SSH的認證公開的金鑰檔


因此將你剛剛自己產生的金鑰加入,才能讓你以後免密碼登入


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


最後是要安裝 Hadoop 了


請到 http://ftp.twaren.net/Unix/Web/apache/hadoop/core/   下載

這裡我是選擇下載 hadoop-0.20.2 的版本,因此你可以將 hadoop-0.20.2.tar.gz 下載下來並解壓縮

解壓縮之後,進入hadoop-0.20.2目錄下的 conf 資料夾內

接下來有四個檔案要改

1. Hadoop-env.sh 
    開啟該檔案之後,請找到這一行 #export JAVA_HOME= "......"
    把註解#拿掉,然後輸入你的Java安裝目錄
    通常目錄會再 /usr/lib/jvm/java-6-sun
    export JAVA_HOME= "/usr/lib/jvm/java-6-sun


2. core-site.xml 
  <configuration>
     <property>
         <name>fs.default.name</name>
         <value>hdfs://localhost:9000</value>
     </property>
  </configuration>
  以上是指定你的HDFS的瀏覽位址


3. hdfs-site.xml
  <configuration>
     <property>
         <name>dfs.replication</name>
         <value>1</value>
     </property>
  </configuration>
  以上是設定 HDFS 的備份方式


4. mapred-site.xml
  <configuration>
     <property>
         <name>mapred.job.tracker</name>
         <value>localhost:9001</value>
     </property>
  </configuration>
  以上是設定MapReduce


完成之後再啟動 Hadoop 之前必須要先Hadoop的HDFS


因此進入你剛剛解壓縮下來的資料夾 hadoop-0.20.2 然後key以下指令


bin/hadoop namenode -format


應該可以看到如下圖紅色方框所示:


由於在寫這篇文章之前,已經有 format過了,所以中間會出現


訊問你是否同一再次format的訊息,不過大致上訊息都會如下



格式化完成之後可以輸入 bin/start-all.sh 以啟動Hadoop


可以看見如下的簡短訊息:


接著你可以瀏覽以下兩個網址看看 Hadoop 是否已經完全正常運行


http://localhost:50030 以及 http://localhost:50070


內容分別如下:




沒有留言:

張貼留言