一,準備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
hadoop權威指南:http://doc.open-open.com/view/c8291dcbeaf24f05a81463bc7807f77c