您的位置:首页 > 编程语言 > Java开发

初识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);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: