简介
在部署了Hadoop机器的服务器上, 可以直接使用hadoop相关命令操作HDFS文件系统,参考 hadoop命令;或者编写可用hadoop命令执行的代码打成jar包,在服务器上运行。
本文主要介绍如何利用Java API 在Windows或未进行Hadoop部署的Linux环境远程访问Hadoop的HDFS系统。
Jar包依赖
- hadoop-hdfs
- hadoop-common
- hadoop-client
// Spring 依赖示例
dependencies {
compile('org.apache.hadoop:hadoop-hdfs:3.1.0')
compile('org.apache.hadoop:hadoop-common:3.1.0')
compile('org.apache.hadoop:hadoop-client:3.1.0')
}
Java API远程访问
实现功能将本地文件存储到hdfs,拷贝hdfs文件到本地,示例代码如下:
package com.notepad.hdfs;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URI;
/**
* Description: Hdfs远程访问示例
* <p>
* Create: 2018/6/21 23:59
*
* @author Yang Meng(eyangmeng@163.com)
*/
public