/** * 上传代码 */ @Test public void putFileToHDFS() throws URISyntaxException, IOException, InterruptedException { //1.建立配置信息 //F2能够快速的定位错误 Configuration conf = new Configuration(); //2.设置部分参数 conf.set("dfs.replication","2"); //3.找到HDFS的地址 FileSystem fileSystem = FileSystem.get(new URI("hdfs://bigdata111:9000"), conf, "root"); //4.上传本地Windows文件的路径 Path src = new Path("D:\\data\\demo1.txt"); //Path src = new Path("D:\\tools\\null\\null.sys"); //Path src = new Path("D:\\tools\\Linux所用Jar包\\hadoop-2.7.2.rar"); //5.要上传到HDFS的路径 Path dst = new Path("hdfs://bigdata111:9000/"); //6.以拷贝的方式上传从src到dst fileSystem.copyFromLocalFile(src,dst); //7.关闭 fileSystem.close(); System.out.print("Ok,上传完成了"); }
@Test public void getFileFromHDFS() throws URISyntaxException, IOException, InterruptedException { //1.获取配置 Configuration conf = new Configuration(); //2.获取hdfs链接 FileSystem fs = FileSystem.get(new URI("hdfs://bigdata111:9000/"),conf,"root"); //3.文件下载 // Path dst = new Path("D:\\tools\\demoFile\\null.sys"); // Path src = new Path("hdfs://bigdata111:9000/null.sys"); Path dst = new Path("D:\\tools\\demoFile\\hadoop-2.7.2.rar"); Path src = new Path("hdfs://bigdata111:9000/hadoop-2.7.2.rar"); fs.copyToLocalFile(src,dst); fs.close(); System.out.print("OK,下载完成"); }
上传文件到HDFS的时候报链接超时java
解决办法,添加以下代码:oop
fileSystem.setTimes(dst,0,3000);
下载的时候,下载对应的目录回多余crc文件(目前还不知道缘由,求大神指点):spa