雖然有許多人推崇vim編程,但是本人並不習慣vim編程,本人還是比較在window下使用eclipse編程。另外由於本人linux安裝的都是最小化安裝,沒有圖形界面,因此使用windows的eclipse編寫mapreduce程序遠程發送至linux的hadoop下運行。
默認已經在linux上裝好了Hadoop並且在windows上安裝了Eclipse環境
1. 在windows上搭建Hadoop環境
當然我們不是在windows上安裝hadoop,在window上安裝hadoop需要其他的環境,我們只是使用hadoop的庫而已。
1. 在windows上下載hadoop安裝包並解壓
我們先下載hadoop:下載地址
我們主要使用它的庫,僅僅解壓就可以。
)
解壓Hadoop壓縮包
2.在eclipse上安裝hadoop插件
下載hadoop-eclipse-plugin-2.6.0.jar:
官方的網太慢,下載不下來。將下載好的插件移動到eclipse安裝目錄下的plugins文件夾下。然后重新啟動eclispe
3. 配置環境
打開eclipse,在window -> Preferences ->Hadoop Map/Reduce下設置hadoop的解壓路徑
切換至Map/Reduce項目窗口
新建一個hadoop配置
然后設置Hadoop連接
4. 啟動hadoop
我們在linux上啟動hadoop集群
5. 測試: hdfs文件管理
我們可以嘗試上傳和下載文件
成功!
6.測試:創建一個MapReduce項目
我們創建一個MapReduce項目
我們查看創建的結果
我們會發現有許多hadoop的jar包
然后我們就可以使用eclipse編寫mapreduce程序了!
2. 安裝SFTP Plug-in for Eclipse
我們編寫好了然后呢?在windows上由於沒有hadoop環境因此無法運行。可以發送的安裝hadoop的linux下運行。
我們在Eclipse上安裝一個“SFTP Plug-in”插件,官方網站:SFTP Plug-in for Eclipse
對於安裝的介紹:
You need Eclipse SDK 3.3(or higher) to enjoy this software.
Help > Software Updates > Find and Install... Choose Search for new features to install Click New Remote Site..., and then put http://eclipse.jcraft.com/ for the URL field. Choose SFTP Plug-in, and then click Select Required button.
For Eclipse SDK 3.2, try the Update Site
http://eclipse.jcraft.com/3.2/
其實已經挺詳細了,但是還是介紹一下吧:
1. 點擊"Help" -> "Install New software..."
2. 添加插件下載地址的網址:
3. 選擇 SFTP Plug-in,點擊“Next...”
然后“Next”->同意條款,"Next" -> 選擇,"Next"
4. 重啟
5. 選擇“Remote System Explorer”
關於他的配置在`"window"->"preferences" ->"Remote Systems"下
3. 編寫MapReduce並發送至linux下運行
然后我們怎么使用呢?
1. 編寫一個MapReduce程序
我先在“Map/Reduce”視圖下編寫一個MapReduce程序
2. 將class文件打成jar包
切換至“Remote System Explorer”視圖,將項目向下的bin目錄打成jar包。在eclipse中當java文件保存后會自動編譯為class文件。因此不需要我們使用javac編譯。
修改打包的jar的名字為我們想要的名字后運行
我們會發現當前項目的bin目錄下會有我們剛剛打出的jar包
3. 設置遠程管理linux文件
新建一個連接
選擇“linux”,點擊“Next..”
配置Host,點擊next...
向下依次選擇"ssh.files"->"processes.shell.linux"->"ssh.shell"->"ssh.terminals",點擊“finish”然后我們就可以輸入用戶名和密碼遠程linux了
4. 將jar包拷貝至linux下
點擊“sftp files”下的“My Home”,輸入用戶名和密碼就就可以將本地的文件拷貝至linux上(就是復制文件,然后粘貼),可以查看復制結果:
5.遠程連接hadoop運行該程序
在“ssh Teminals”->"Launch Teminal"運行linux命令行。
我們可以在Teminal窗口下運行該程序。