標籤:bin oop ini win7 com example 配置 ted ide
目的:
學習使用hdfs 的java命令操作
環境:
hadoop2.6.4 偽分布式
win7 + eclipse Version: Luna Service Release 1 (4.4.1)
1. 建立項目
1.1 建立java項目 Hadoop_偽分布式
1.2 匯入hadoop 2.6.4 的jar包
項目名字上右鍵->屬性->Java構建路徑->添加庫->使用者庫,建立使用者庫 hadoop2.6
點擊使用者庫hadoop2.6->添加外部jar 依次將hadoop2.6.4 解壓目錄下的所有jar包,及對應子目錄 lib下jar包匯入
share\hadoop\common
share\hadoop\hdfs
share\hadoop\yarn
share\hadoop\mapredude
2.建立類,編寫如下代碼
通過流的方式,從hdfs 下載一個檔案到linux 本地,
1 /** 2 * 功能: 將 hdfs://ssmaster:9000/data/paper.txt下載到Linux下/home/hadoop/paper.txt 3 * 調用方式:hadoop jar 打包包名.jar 4 */ 5 package hadoop.hdfs; 6 7 import java.io.FileNotFoundException; 8 import java.io.FileOutputStream; 9 import java.io.IOException;10 11 import org.apache.commons.compress.utils.IOUtils;12 import org.apache.hadoop.conf.Configuration;13 import org.apache.hadoop.fs.FSDataInputStream;14 import org.apache.hadoop.fs.FileSystem;15 import org.apache.hadoop.fs.Path;16 17 public class Test_Fun {18 19 public static void main(String[] args) {20 21 Configuration conf =new Configuration();22 23 FileSystem fs = null;24 Path src = null;25 FSDataInputStream in = null;26 FileOutputStream out = null;27 28 src = new Path("hdfs://ssmaster:9000/data/paper.txt" );29 30 try {31 32 fs = FileSystem.get(conf) ;33 in = fs.open(src);34 35 } catch (IOException e) {36 e.printStackTrace(); 37 }38 39 try {40 out = new FileOutputStream ("/home/hadoop/paper.txt");41 } catch (FileNotFoundException e) {42 e.printStackTrace();43 }44 45 try {46 IOUtils.copy(in, out);47 } catch (IOException e) {48 e.printStackTrace();49 }50 51 }52 }View Code
備忘:
"hdfs://ssmaster:9000/data/paper.txt" 中前面的路徑取自 hadoop安裝後的設定檔 core-site.xml裡的
參數 <name>fs.defaultFS</name><value>hdfs://ssmaster:9000</value>
3.匯出jar包、執行
右鍵項目名字->匯出->java/jar檔案 ->指定jar路徑名字->指定main類 ->完成
上傳到linux伺服器,執行程式,查看結果
[email protected]:~/java_program$ hadoop jar hadoop_hdfs_download.jar[email protected]:~$ lsDesktop Downloads hadoop-2.6.4.tar.gz java_program paper.txt Pictures spark-2.0.1-bin-hadoop2.6.tgz VideosDocuments examples.desktop hdfs-site.xml Music park-2.0.1-bin-hadoop Public Templates
總結:
步驟麻煩囉嗦。
其他可選方案,需要研究
windows下的eclipse 中的程式運行,直接操作hadoop
在linux中安裝eclipse,運行程式
[0007] windows 下 eclipse 開發 hdfs程式範例