window 系统 linux 系统 hdfs 文件系统 相互转移 hdfs 拷贝文件到linux 本地

深入理解数据库原理
以实战为基础,以数据库原理为基础,结合实战,深入理解数据库原理。
wangxiaoming

window 系统  linux 系统 hdfs 文件系统  相互转移

 

 

eclipse 安装插件成功后: 会出现如下

 

可以user-》右键  upload  window 本地一个文件, 但是像这种要执行的jar 包 直接在hdfs 文件系统上 使用 hadoop jar 命令是无法正确执行的,

 

上面的文件上传成功后:

执行命令:

 

hadoop fs -ls /user

 

 

 

 

 

可以看到有上传的文件
 

需要如下操作, 将这个在文件系统上文件到linu 本地:

 

执行如下命令:

localfile 是你linux 本地地址   file是你的文件

 

hadoop fs -get hdfs://host:port/user/file localfile

 

 

 

 

 

上图所示 可以将文件转移到 linux 本地, 现在执行 

 

hadoop jar   *.jar

 

 

可以运行jar包

 

可能出现问题:

 

hadoop fs-copyToLocal /user/cpcn-StatementExternalBatchHadoop-1.0.0.1-SNAPSHOT.jar /usr/

copyToLocal:/usr/cpcn-StatementExternalBatchHadoop-1.0.0.1-SNAPSHOT.jar._COPYING_ (权限不够) 

 

解决办法: 

 如果  chmod 777   /usr/     chown   -r  用户名  /usr   还是不能解决  那么久不要放在这个目录下了

 

在当前用户下执行命令

新建文件夹

 

mkdir file


把localfile  改成 file/ 即可 执行。

 

 

也可以用如下代码:

 

import java.io.FileOutputStream;
import java.io.OutputStream;
import java.net.URI;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;

public class HadoopToLocal {
    public static void main(String[] args) throws Exception {
        String dest = "hdfs://192.168.233.128:9000/user/cpcn-StatementExternalBatchHadoop-1.0.0.1-SNAPSHOT.jar";
        String local = "/file/";
        Configuration conf = new Configuration();
        FileSystem fs = FileSystem.get(URI.create(dest), conf);
        FSDataInputStream fsdi = fs.open(new Path(dest));
        OutputStream output = new FileOutputStream(local);
        IOUtils.copyBytes(fsdi, output, 4096, true);
    }
}

 

 

 

 

 

 

 

 

 

 

wangxiaoming CSDN认证博客专家 架构 Spring Boot Redis
博客是很好的总结和记录工具,如果有问题,来不及回复,关注微信公众号:程序员开发者社区,获取我的联系方式,向我提问,也可以给我发送邮件,联系 1275801617@qq.com
©️2020 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值