[b0010] windows 下 eclipse 开发 hdfs程序样例 (二)
目的:
学习windows 开发hadoop程序的配置
相关:
[b0007] windows 下 eclipse 开发 hdfs程序样例
环境:
基于以下环境配置好后。
[b0008] Windows 7 下 hadoop 2.6.4 eclipse 本地开发调试配置
1. 新建HDFS下载文件类
在已有mapreduce项目中新建类添加如下代码,代码从[0007]中取出小修改
功能:从hdfs下载文件到windows本地
package hadoop.hdfs; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import org.apache.commons.compress.utils.IOUtils; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FSDataInputStream; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; /** * 功能: 将 hdfs://ssmaster:9000/data/paper.txt下载到Windows下c:\paper.txt * 调用方式:hadoop jar 打包包名.jar */ public class Hdfs_Download { public static void main(String[] args) { Configuration conf =new Configuration(); FileSystem fs = null; Path src = null; FSDataInputStream in = null; FileOutputStream out = null; // src = new Path("hdfs://ssmaster:9000/data/paper.txt" ); src = new Path("hdfs://ssmaster:9000/data/paper.txt" ); try { fs = FileSystem.get(conf) ; in = fs.open(src); } catch (IOException e) { e.printStackTrace(); } try { out = new FileOutputStream ("c:\\paper.txt"); } catch (FileNotFoundException e) { e.printStackTrace(); } try { IOUtils.copy(in, out); } catch (IOException e) { e.printStackTrace(); } } }
2.复制hadoop配置好的core-site.xml,hdfs-site.xml,mapred-site.xml到src目录下
如图
3 运行
右键类名,运行为 java application,正常会执行成功
异常
参考[0009]hadoop异常处理,一般都是配置文件没有
总结:
比[0007]打包执行方便一些。
存在问题:
如果打包到linux下执行,需要修改路径
如何在eclipse中,直接跑程序,下载hdfs到linxu本地
写满200篇博文再说