标签:from eclipse hosts files mac before java api 开始
2、关联jar包
在eclipse中新建项目中,建lib文件夹,把要用的jar包拷贝进来,jar包在解压好的 hadoop-2.9.1/share/hadoop中
我们这里不拷贝,选择关联你所存放在电脑上的路径
在项目上右键选择 Bulid Path > Add Libraries > User Library > ok > new > 命名 > ok > Add External JARs > 选择jar包
然后会看到项目下多了个包
3、开始写代码
package bigdata.hdfs; import java.net.URI; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.junit.Before; import org.junit.Test; /* 客户端操作hdfs时,需要一个用户身份, * 默认情况下,hdfs客户端会从jvm中获取一个参数来作为自己的用户身份:-DHADOOP_USER_NAME=hadoop, * 解决方法方法有两种,我这里用第二种: * 1、设置外部参数; * 2、在代码中写明,用get方法时,选择三个参数的,将用户名传进去; */ public class HdfsClientDemo { FileSystem fs = null; @Before public void init() throws Exception { Configuration conf = new Configuration(); //这里要识别master的话,需要修改本机hosts文件 conf.set("fs.defaultFS", "hdfs://master:9000"); //拿到一个文件操作系统的客户端实例对象,第三个参数就是用户身份,写你的master上的用户名 fs = FileSystem.get(new URI("hdfs://master:9000"), conf, "wang"); }
//上传 @Test public void testUpload() throws Exception { fs.copyFromLocalFile(new Path("/Users/wang/Desktop/upload.jpg"),new Path("/upload_copy.jpg")); fs.close(); }
//下载 @Test public void testDownload() throws Exception { fs.copyToLocalFile(new Path("/upload_copy.jpg"), new Path("/Users/wang/Desktop/download.jpg")); fs.close(); } }
Hadoop Java API操作HDFS文件系统(Mac)
标签:from eclipse hosts files mac before java api 开始
原文地址:https://www.cnblogs.com/chaofan-/p/9742727.html