在Hadoop做上传下载操作的时候,上传的时候会出现一个超时的异常,在下载的时候回多出来crc的文件

     /**
     * 上传代码
     */
    @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的时候报连接超时

Hadoop上传文件和下载文件时候出现的问题-LMLPHP

解决办法,添加如下代码:

fileSystem.setTimes(dst,0,3000); 

下载的时候,下载对应的目录回多余crc文件(目前还不知道原因,求大神指点):

Hadoop上传文件和下载文件时候出现的问题-LMLPHP

05-13 02:18