[b0007] windows 下 eclipse 开发 hdfs程序样例

时间:2024-10-17 18:35:08

目的:

学习使用hdfs 的java命令操作

相关:

进化:

[b0010] windows 下 eclipse 开发 hdfs程序样例 (二)

[b0011] windows 下 eclipse 开发 hdfs程序样例 (三)

环境:

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 本地,

 /**
* 功能: 将 hdfs://ssmaster:9000/data/paper.txt下载到Linux下/home/hadoop/paper.txt
* 调用方式:hadoop jar 打包包名.jar
*/
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; public class Test_Fun { 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" ); try { fs = FileSystem.get(conf) ;
in = fs.open(src); } catch (IOException e) {
e.printStackTrace();
} try {
out = new FileOutputStream ("/home/hadoop/paper.txt");
} catch (FileNotFoundException e) {
e.printStackTrace();
} try {
IOUtils.copy(in, out);
} catch (IOException e) {
e.printStackTrace();
} }
}

备注:

"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服务器,执行程序,查看结果

hadoop@ssmaster:~/java_program$ hadoop jar hadoop_hdfs_download.jar
hadoop@ssmaster:~$ ls
Desktop Downloads hadoop-2.6..tar.gz java_program paper.txt Pictures spark-2.0.-bin-hadoop2..tgz Videos
Documents examples.desktop hdfs-site.xml Music park-2.0.-bin-hadoop Public Templates

总结:

步骤麻烦啰嗦。

其他可选方案,需要研究

windows下的eclipse 中的程序运行,直接操作hadoop

在linux中安装eclipse,运行程序