Hadoop与Java的简单交互

tech2026-03-18  1

本地Hadoop配置

1.在Windows上安装hadoop

解压hadoop-2.6.0-cdh5.14.2.tar.gz 压缩包 (解压过程中可能会提示需要管理员权限,最好解压前找到解压软件,右键以管理员身份运行,再尽进行解压)

2.把hadoop-bin.rar中的内容解压并替换到hadoop的bin目录下

(该文件可以去网上自行搜索下载,要与自己版本匹配)

3.把hadoop.dll放到c:\windows\System32\目录下

4.配置hadoop环境变量

右键我的电脑–>属性–>高级系统设置–>环境变量

新建HADOOP_HOME变量,值就是自己的hadoop地址 然后在Path变量中添加如图所示的文本即可

Java操作

1.在idea中新建一个maven工程

修改一下自己相关的版本号 然后引入hadoop相关jar包

<dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>2.6.0</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs</artifactId> <version>2.6.0</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-core</artifactId> <version>1.2.0</version> </dependency>

2.新建一个class文件(需要在APP下级目录)

a.简单的查看流

public class TestHDFS { public static void main(String[] args) throws Exception{ Configuration conf = new Configuration(); conf.set("fs.defaultFS","hdfs://192.168.129.40:9000"); FileSystem fs = FileSystem.get(new URI("hdfs://192.168.129.40:9000"),conf,"root"); FSDataInputStream is = fs.open(new Path(args[0])); int tmp; while((tmp=is.read())!=-1){ System.out.print((char)tmp); } is.close(); } }

在Run 的 Edit Configuration处如图所示的位置添加参数

b.上传下载流

fs.copyToLocalFile(new Path(args[0]),new Path(args[1])); fs.copyFromLocalFile(new Path(args[1]),new Path(args[0]));

c.其他操作

诸如创建,删除等不再此赘述

hadoop jar 执行 Java的jar包

1.编写测试完成后,打jar包,指定main方法

Build选择Build Artifact建立jar包(jar包在out里查看)

2.jar包上传至hadoop的share目录下

3.执行命令

hadoop jar <jar在linux的路径> <main方法所在的类的全类名> <参数>

最新回复(0)