hadoop在windows下的配置與運行(運行環境和開發環境配置)

第一天我先在window環境裏搭建的這個本人當時什麼都不懂 就感受方便就在這裏搞了 不過通過這個我也知道了什麼是hadoop 環境了 受益不淺 。 java

在Windows下部署hadoop前,都須要安裝cygwin軟件,如何安裝和配置cygwin node

1、cygwin的安裝與配置 linux

  一、什麼是cygwin
 cygwin是一個在windows平臺上運行的unix模擬環境,是cygnus solutions公司開發的自由軟件(該公司開發了不少好東西,著名的還有eCos,不過現已被Redhat收購)。它對於學習unix/linux操做環境,或者從unix到windows的應用程序移植,或者進行某些特殊的開發工做,尤爲是使用gnu工具集在windows上進行嵌入式系統開發,很是有用。隨着嵌入式系統開發在國內日漸流行,愈來愈多的開發者對cygwin產生了興趣。 
二、cygwin的安裝
  (1)下載安裝程序,下載地址爲: http://www.cygwin.com/setup.exe
   (2)選擇必須安裝的包,根據實踐有以下包必須選擇安 裝,不然極可能cygwin安裝失敗!
   Net Category下的OpenSSL,OpenSSH;
   Base Category下的sed;
   Editors Category下的vim,Emacs;
   Devel Category下的subversion,binutils,gcc,gcc-mingw,gdb vim

(3)點擊下一步。一直到完成
   說明:雖然cygwin提供在線安裝,我的建議先  徹底下載到本地,再進行安裝,由於在線安裝會出現許多莫名奇妙的問題。 windows

二、cygwin的配置
 (1)配置環境變量
 CLASSPATH= .;C:\Java\jdk1.6.0_11\lib\dt.jar;C:\Java\jdk1.6.0_11\lib\tools.jar
  CYGWIN=ntsec;
JAVA_HOME=C:\Java\JDK1.6.0_11;C:\Java\jre6;
 在PATH環境變量中加入以下路徑C:\cygwin\bin;C:\cygwin\usr\i686-pc-cygwin\bin;C:\Java\jdk1.6.0_11\bin; 服務器

(2)安裝sshd服務
    啓動cygwin輸入命令:ssh-host-config;
    根據提示進行相應的操做直至安裝完成,安裝成功後當即啓動名稱爲「CYGWIN sshd」的服務。 eclipse

(3)配置ssh登陸
      執行ssh-keygen命令,而後根據提示按三次回車鍵,最後輸入以下命令:
   cd ~/.ssh/;
   cp id_rsa.pub authorized_keys ssh

至此,cygwin的安裝與配置成功,你能夠享受cygwin帶來的樂趣。 分佈式

 

2、hadoop多節點的安裝與部署 工具


一、下載hadoop;
       本實驗用的版本是:hadoop-0.20.1;
二、外部配置
   選中一臺機子作爲jobTracker,namenode, datanode這個機子爲master,這個機器的ip設置爲192.168.1.102。另外兩臺作datanode,TaskTracker爲slave,這個機器的ip爲192.168.1.101,192.168.1.103

三、爲了實現無密碼登陸ssh服務器,在master機器cygwin的控制檯中輸入以下命令: 
  cd ~/.ssh;
   chmod 600 authorized_keys;
  scp authorized_keys  Administrator@192.168.1.102:~/.ssh/ authorized_keys;
scp authorized_keys  Administrator@192.168.1.103:~/.ssh/ authorized_keys;

假如是所用的客戶端計算機是第一次登錄SSH服務器,命令行中會提示「Are you sure you want to continue connecting (yes/no) ?」,只要輸入yes便可,SSH服務器會自動將此次的登錄信息存儲在/.ssh/known_host文件中。當顯示「Fanfare!!! You are successfully logged in to this server!!!」時,說明已經成功登錄到ssh服務器計算機內了,須要注重的是,此時在當前控制檯內輸入的命令都將在ssh服務器計算機裏運行。

四、master機器Hadoop機器環境部署:
  (1)將安裝包解壓到F:\hadoop\run中;
  (2)修改conf目錄下的hadoop-env.sh
     export JAVA_HOME="/cygdrive/c/Java/jdk1.6.0_11" 
   (3)修改conf目錄下的core-site.xml;

           <property>

                   <name>fs.default.name</name>

                   <value>hdfs://192.168.1.101:9000<value>

                    ......................................

  (4)修改conf目錄下的hdfs-site.xml;

         <property>

                   <name>dfs.datanode.handler.count</name>

                   <value>1<value>

                    ......................................

          <property>

                   <name>dfs.replication</name>

                   <value>1<value>

                    ......................................

 (5)修改conf目錄下的mapred-site.xml

             <property>

                   <name>mapred.job.tracker</name>

                   <value>192.168.1.101:9001<value>

                    ......................................

 (6)修改conf目錄下的masters文件
         輸入192.168.1.101
 (7)修改conf目錄下的slaves文件
       輸入:192.168.1.101
                 192.168.1.102
                 192.168.1.103

(7)配置hadoop在cygwin中的環境
      用vi打開/etc/profile文件,在文件的末尾追加以下代碼:
       export HADOOP_HOME=/cygdrive/f/hadoop/run
       export PATH=$PATH:$HADOOP_HOME/bin


(8)格式化一個新的分佈式文件系統 
    cd $HADOOP_HOME
    bin/hadoop namenode -format
五、slave機器Hadoop機器環境部署
     把master機器上的F:\hadoop拷貝到slave機器上的F盤的根目錄下便可。
六、關閉master,slave機器上的Cygwin,而後重啓Cygwin。

七、啓動master上的hadoop,執行以下命令:
     ssh localhost 
     cd $HADOOP_HOME
     bin/start-dfs.sh
     bin/start-mapred.sh
     jps
八、運行wordcount程序
   $ bin/hadoop dfs -put ./test-in input  
  $ bin/hadoop jar hadoop-0.16.0-examples.jar wordcount input output
   $ bin/hadoop dfs -cat output/*
九、中止hadoop進行
    $ bin/stop-all.sh
十、配置hadoop的開發環境
   (1)下載hadoop-0.20.1-eclipse-plugin.jar
   (2)將其複製到Eclipse安裝目錄下的   plugins子目錄下。
   (3)刪除org.eclipse.update目錄,重啓   Eclipse.
  (4) 配置一個Map/Reduce對象,即DFS location ,將Map/Reduce   Master一欄中的host設置爲192.168.101,port設置爲9001;將DFS Master 一欄中的host設置爲192.168.101,port設置爲9000;
 (5)運行wordcout程序
     建立一個Map/Reduce  Project,將wordcount.java拷貝到該工程的src目錄下,運行程序。 

至此,若是以上沒有問題的話,hadoop多節點的運行環境與開發環境配置完畢了,你能夠開發Map/Reduce程序了。

相關文章
相關標籤/搜索