一
Eclipse導入Hadoop源碼項目
基本步驟:
1)在Eclipse新建一個java項目【hadoop-1.2.1】
2)將Hadoop壓縮包解壓目錄src下的core,hdfs,mapred,tools,example四個目錄copy到上述新建項目的src目錄下
3)右擊選擇 Build Path,修改Java Build Path中【Source】,刪除src,添加src/core,src/hdfs,src/mapred,src/tools幾個源碼目錄;
4)在項目中新建一個lib目錄,添加項目依賴jar包,導入Hadoop解壓縮目錄的lib下所有jar包(去掉兩個文檔),不要漏掉其子目錄jsp-2.1中的jar包,導入ant程序lib下所有jar包
5)選擇lib目錄下的所有jar包,然后右擊選擇Build Path添加
6)右擊項目選擇Build Project,重新編譯一下工程,發現有錯誤
7)導入ant包,把ant下的所有jar包導入lib目錄下,右擊項目選擇Build Path-->Libraries-->Add JARs-->Hadoop-1.2.1-->lib就會顯示為加進來的包,點擊ok結束。
8)在編譯一下工程,發現還是有錯,接着右擊項目選擇Build Path-->Libraries找到JRE System Library-->點擊Access rules:No rules defined -->選擇Edit
Resolution框改為Accessible,Rule Pattern填**/*點ok
至此完成。
二、在Eclipse下編寫Hadoop程序
基本步驟:
1)新建Hadoop工程,在工程中新建一個lib目錄,copy Hadoop壓縮包解壓目錄lib下的幾個jar包,分別為:
其中,Hadoop-core-1.2.1.jar就在Hadoop-1.2.1目錄下,然后添加到Build Path路經下
2)添加Hadoop的配置文件
點擊項目新建一個文件夾,命名為conf,在里面需要放兩個配置文件,分別為core-site.xml和hdfs-site.xml
3)添加單元測試包JUnit4
選擇項目右擊選擇Build Path-->Libraries-->Add Library-->JUnit -->JUnit4-->ok
到此就可以在項目的src下建立包和測試類對hdfs進行增、刪、改、查等操作
例:查看hdfs下的某個文件類容並在控制台上顯示,代碼如下:
package org.chaofn.hadoop.hdfs; import java.io.InputStream; import java.net.URL; import org.apache.hadoop.fs.FsUrlStreamHandlerFactory; import org.apache.hadoop.io.IOUtils; import org.junit.Test; public class HDFSUrlTest { //讓java程序識別HDFS的URL static{ URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory()); } //查看文件內容 @Test public void testRead() throws Exception{ InputStream in=null; //文件路徑 String fileUrl="hdfs://linux.chaofn.org:9000/wc/input/core-site.xml"; try{ in=new URL(fileUrl).openStream(); //將文件內容讀出來打印到控制台 IOUtils.copyBytes(in, System.out, 4096, false); }finally{ IOUtils.closeStream(in); } } }