初识hadoop--(2)通过java操作hdfs
2017-08-15 13:11
260 查看
要通过本地windows上的java代码操作远程hdfs,首先需要在windows上装个小工具:
https://github.com/steveloughran/winutils
官方提供的工具。
然后配置环境变量指向这个工具的安装路径:
HADOOP_HOME: C:\Users\lhc\myapp\hadoop-2.7.1
然后还要修改host文件(文件位置C:\Windows\System32\drivers\etc,用管理员打开),追加安装hadoop的服务器的hostname:
例如:192.168.18.229 user-HVM-domU
然后创建java工程,配置maven。jdk里的tools.jar这个要单独配置一下。
<dependencies>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.8.1</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.8.1</version>
</dependency>
<dependency>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
<version>1.8</version>
<scope>system</scope>
<systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
</dependency>
</dependencies>
然后就可以写一段代码来测试了:
public static void main(String[] args) throws IOException {
String uri = "hftp://192.168.18.229:50070/user/test/test.txt";
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(URI.create(uri), conf);
InputStream in = null;
try {
in = fs.open(new Path(uri));
IOUtils.copyBytes(in, System.out, 4096, false);
} finally {
IOUtils.closeStream(in);
}
}
https://github.com/steveloughran/winutils
官方提供的工具。
然后配置环境变量指向这个工具的安装路径:
HADOOP_HOME: C:\Users\lhc\myapp\hadoop-2.7.1
然后还要修改host文件(文件位置C:\Windows\System32\drivers\etc,用管理员打开),追加安装hadoop的服务器的hostname:
例如:192.168.18.229 user-HVM-domU
然后创建java工程,配置maven。jdk里的tools.jar这个要单独配置一下。
<dependencies>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.8.1</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.8.1</version>
</dependency>
<dependency>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
<version>1.8</version>
<scope>system</scope>
<systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
</dependency>
</dependencies>
然后就可以写一段代码来测试了:
public static void main(String[] args) throws IOException {
String uri = "hftp://192.168.18.229:50070/user/test/test.txt";
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(URI.create(uri), conf);
InputStream in = null;
try {
in = fs.open(new Path(uri));
IOUtils.copyBytes(in, System.out, 4096, false);
} finally {
IOUtils.closeStream(in);
}
}
相关文章推荐
- Hadoop之Java通过URL操作HDFS-yellowcong
- JAVA操作HDFS API(hadoop) HDFS API详解
- Hadoop HDFS文件操作 Java实现类
- hadoop实例(java模板):数字逆序输出 (自定义mapper,reducer,自定义key2类型,重写compareTo函数,HDFS操作)
- Hadoop的HDFS Java pai 读写操作
- C#、JAVA操作Hadoop(HDFS、Map/Reduce)真实过程概述。组件、源码下载。无法解决:Response status code does not indicate success: 500。
- hadoop 学习(四)之java操作hdfs
- java 操作 hadoop hdfs
- 使用Hadoop的Java API操作HDFS
- 排坑!java操作hadoop中的hdfs文件系统
- 第二篇:Hadoop HDFS常用JAVA api操作程序
- hadoop - hadoop2.6 伪分布式 - Java API 操作 HDFS
- Hadoop(三)java操作HDFS
- Hadoop HDFS文件系统通过java FileSystem 实现上传下载等
- JAVA操作HDFS API(hadoop)
- hadoop之旅(三)java操作HDFS
- hadoop深入浅出-JAVA操作HDFS(JAVA接口使用)
- hadoop java HDFS 读写操作
- JAVA操作HDFS API(hadoop)