Window搭建Hadoop開發平臺

一,準備html

Java 1.6
Eclipse Europa 3.3.2
hadoop-0.19.2node

Java必定要1.6,Eclipse好像不能用3.4以上,hadoop用0.19.2,原文用0.19.1,如今沒的下了。0.20.0不能用,我試過了,無法啓動Job Tracker,不知道緣由,多是bug也不定。linux

二,安裝Cygwinapache

先去下載一個安裝文件 ,完後運行,這只是一個引導的程序,真正的程序要經過它下載才能安裝,當要選擇下載站點時,輸入:http://www.cygwin.cn 而後就能夠選擇要安裝的程序,默認的時候沒有安裝OpenSSH,因此要手動選擇,在Net類別下,選上OpenSSH和OpenSSL兩項。eclipse

 

以後,設置環境變量,把ssh

     c:\cygwin\bin;c:\cygwin\usr\binide

加入到系統環境變量的Path中。oop

三,配置SSH學習

1.打開一個cygwin,輸入測試

     ssh-host-config

當詢問if privilege separation should be used 時輸入 no .
當詢問if sshd should be installed as a service 時輸入yes .
當詢問about the value of CYGWIN environment variable enter 時輸入 ntsec .

2.打開 控制面板-》管理-》服務 啓動名爲 CYGWIN sshd 的那項。

3.打開cygwin,輸入

      ssh-keygen

當詢問要filenames 和 pass phrases 的時候都本身點回車,接受默認的值.命令結束後輸入 cd ~/.ssh轉到.ssh目錄,輸入 ls -l應該包含兩個文件:id_rsa.pub 和 id_rsa

4.在第三步的窗口(當前目錄在.ssh)中輸入

      cat id_rsa.pub >> authorized_keys

完成後輸入

      ssh localhost

檢查ssh是否配置成功,當提示whether you really want to connect時,輸入yes。 這樣之後再輸入ssh localhost的時候都不會再有提示了。

準備工做完了。

接下來開始配置Hadoop了,

一,解壓文件

打開一個cygwin,輸入如下命令

      cd .

      explorer .

會彈出一個新窗口,把原來下載的hadoop壓縮文件放到裏面,並解壓。我的認爲,其實不必定要放到cygwin的用戶根目錄下,沒試過。

二,配置Hadoop

打開解壓出來的文件夾,在 hadoop-0.19.2\conf 目錄下有一個 hadoop-site.xml 文件,打開,在原有的

<configuration>

</configuration>間插入

<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9100</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9101</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>

保存。

三,格式化Name Node

打開一個cygwin,轉到hadoop目錄下,若是按照前面的解壓,直接用cd hadoop-0.19.2就能夠了,接着輸入如下命令:
      mkdir logs
      bin/hadoop namenode -format

四,安裝Eclipse插件

打開解壓後的文件夾,把hadoop-0.19.2\contrib\eclipse-plugin下的hadoop-0.19.2-eclipse- plugin.jar文件拷到eclipse 的plugins目錄下,重啓eclipse,在Window-》Open Perspective-》other,彈出的窗口中應該有一項Map/Reduce項,表明安裝成功了。若是沒有的話,把eclipse下的 configuration\org.eclipse.update文件夾刪了,再重啓eclipse。

注意:eclipse必須是3.3版本以上,hadoop-eclipse-plugin.jar有bug,最好到網上下載別人修改過的,官方的jar文件沒法運行,我用的是hadoop-eclipse-plugin-0.20.3-SNAPSHOT,只要把jar文件換個名稱hadoop-0.20.2-eclipse-plugin.jar,而後拷貝到eclipse plugin目錄下就能夠了。


五,啓動Hudoop集羣

啓動五個cygwin。

在第一中啓動NameNode,執行:
cd hadoop-0.19.2
bin/hadoop namenode

在第二個中啓動Secondary NameNode,執行:
cd hadoop-0.19.2
bin/hadoop secondarynamenode

第三個中啓動job tracker 執行:
cd hadoop-0.19.2
bin/hadoop jobtracker

第四個中啓動data node ,執行
cd hadoop-0.19.2
bin/hadoop datanode

最後一個啓動 task tracker, 執行:
cd hadoop-0.19.2
bin/hadoop tasktracker

六,在Eclipse中配置環境

啓動eclipse,轉到Map/Reduce Perspective,在上圖的Map/Reduce Locations裏,新建一個Location,填入如下值

    * Location Name -- localhost
    * Map/Reduce Master
          o Host -- localhost
          o Port -- 9101
    * DFS Master
          o Check "Use M/R Master Host"
          o Port -- 9100
    * User name -- 默認

 
七,上傳文件到HDFS

打開一個cygwin,執行

      cd hadoop-0.19.1
      bin/hadoop fs -mkdir In
      bin/hadoop fs -put *.txt In

這時,在eclipse的Project explorer的DFS location中,應該能反應變化,沒有的話,reconnect一下

好了,東西都準備好了,下篇就能夠開始建立工程了。

啓動Eclipse,

右鍵點擊  Project Explorer 窗口,選擇 New -> Project.. 找到 Map/Reduce Project, 點Next ,輸入名字。
點擊下面的Config Hadoop Install Directiory,輸入Hadoop的目錄,如:C:\cygwin\home\User\hadoop-0.19.2
 

右鍵點擊新建立的 Hadoop 工程,選擇  New -> Other 轉到 Map/Reduce 文件夾, 選擇 MapReduceDriver 而後點擊 Next ,輸入名字,點擊Finish。
新建立了一個文件,可是有錯誤,把
conf.setInputPath(new Path("src"));
conf.setOutputPath(new Path("out"));

換爲

conf.setInputFormat(TextInputFormat.class);
conf.setOutputFormat(TextOutputFormat.class);

FileInputFormat.setInputPaths(conf, new Path("In"));
FileOutputFormat.setOutputPath(conf, new Path("Out"));
右鍵點擊文件,選擇 Run As --> Run on Hadoop. 彈出如下窗口:

 選擇 "Choose existing hadoop location" , 而後選擇剛纔建立的localhost ,點Finish 就開始運行了.

 接下來,就能夠到網上找些測試代碼來運行。。。

 window下的hadoop只能用於開發測試,生產的部署只支持linux操做系統。。

關於linux平臺的hadoop搭建,後續請你們繼續關注!!!!!!!

 

參考連接:

牛人整合資源:http://trac.nchc.org.tw/cloud/wiki/Hadoop4Win(臺灣人封裝好的hadoopfor window ) ,很是不錯的一個網址,還有hadoop的學習視頻

豆丁:http://www.docin.com/p-192869357.html

官網:http://hadoop.apache.org/

hadoop權威指南:http://doc.open-open.com/view/c8291dcbeaf24f05a81463bc7807f77c

相關文章
相關標籤/搜索