Hadoop:第一个程序操作HDFS
IDE:Eclipse
第一个程序操作HDFS。
1. 创建Java工程
打开eclipse,选择“File -> New -> Java Project”,新建一个“Java Project”,进入“New Java
Project”对话框,将“Project name”设置为“Demo”,
选中“DFSOperator”,并单击右键,选择“New -> Class”菜单,新建“Name”为“Test”<com.fora>
的class,并选中自动创建main 函数,
2. 配置编译参数
<可选,如果已经将Hadoop插件装入Eclipse>=================================
1、将\hadoop-0.20.2\hadoop-0.20.2\contrib\eclipse-plugin\下的hadoop-0.20.2-eclipse-plugin.jar拷贝到eclipse-SDK-3.3.2-win32\eclipse\plugins\下。
2、启动eclipse,点击Window->Show View->Other,点击MapReudce Tools->Map/Reduce Locations
3、点击蓝色的大象,出现下图,配置:
Host是Master的IP地址、9001是mapred.job.tracker端口、9000是fs.default.name的端口
=================================================================
下面开始配置“Build Path”,选中“DFSOperator”,单击右键,点击下图所示菜单“Build
Path -> Configure Build Path”,进入“Java Build Path”配置界面。
选择“Libraries”标签页,点击右侧的“Add External JAR”按钮,将安装好的“hadoop-0.20.0-core.jar”,”commons-logging-1.0.4.jar“添加进来。
进入的“Test.java”文件编辑界面,将“Test.java”的内容修改成如下:
package com.fora;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class Test{
public static void main(String[] args) {
Configuration conf = new Configuration();
try{
FileSystem fs = FileSystem.get(conf);
Path f = new Path("hdfs:/// HadoopDemo.txt");
FSDataOutputStream os = fs.create(f, true);
int i = 0;
for (i = 0; i < 100; ++i){
os.writeChars("this is a test for HDFS, from:www.cnblogs.com\\fora \n");
}
os.close();
}catch (Exception e) {
e.printStackTrace();
}
}
}
3. 编译生成JAR:Export导出即可。
右键“Demo”项目,选择“Build Project”,编译项目工程,编译“Test.java”
后,生成Test.class 文件
右键项目,选择“Export”:
进入“Export”对话框:
选中“JAR file”,然后点击“Next”按钮
,设置好JAR 包的文件名和存放位置,然后点击“Finish”按钮,生成
HadoopDemo.jar 文件
然后将HadoopDemo.jar 文件上传到Hadoop Master 节点。
4. 测试运行、假设Hadoop 安装在/usr/hadoop 目录下,HadoopDemo.jar 存放在hadoop/bin 目录下,按照下图所示的五步依次进行操作:
首先进入Hadoop 的bin 目录,然后依次完成如下的五步操作:
(1) 查看当前目录,检查HadoopDemo.jar 是否存在:ls
(2) 查看Hadoop 根目录下是否存在HadoopDemo.txt 文件:./hadoop fs -ls /,有则先删除
(3) 运行HadoopDemo.jar,以生成HadoopDemo.txt 文件:
./hadoop jar ./HadoopDemo.jar com.fora.Test
(4) 再查看Hadoop 根目录下是否存在HadoopDemo.txt 文件:./hadoop fs -ls /
(5) 检查HadoopDemo.txt 文件的内容:./hadoop fs -cat /HadoopDemo.txt