hdfs java_HDFS的java客户端编写

注意:下面的所有代码都是在linux的eclipse中进行编写。

1.首先测试从hdfs中下载文件:

下载文件的代码:(将hdfs://localhost:9000/jdk-7u65-linux-i586.tar.gz文件下载到本地/opt/download/doload.tgz)

packagecn.qlq.hdfs;importjava.io.FileOutputStream;importjava.io.IOException;importorg.apache.commons.compress.utils.IOUtils;importorg.apache.hadoop.conf.Configuration;importorg.apache.hadoop.fs.FSDataInputStream;importorg.apache.hadoop.fs.FileSystem;importorg.apache.hadoop.fs.Path;public classHdfsUtil {public static void main(String a[]) throwsIOException {//to upload a file

Configuration conf = newConfiguration();

FileSystem fs=FileSystem.get(conf);

Path path= new Path("hdfs://localhost:9000/jdk-7u65-linux-i586.tar.gz");

FSDataInputStream input=fs.open(path);

FileOutputStream output= new FileOutputStream("/opt/download/doload.tgz");

IOUtils.copy(input, output);

}

}

直接运行报错:

原因是程序不认识   hdfs://localhost:9000/jdk-7u65-linux-i586.tar.gz  这样的目录

log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory).

log4j:WARN Please initialize the log4j system properly.

log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

Exception in thread "main" java.lang.IllegalArgumentException: Wrong FS: hdfs://localhost:9000/jdk-7u65-linux-i586.tar.gz, expected: file:///

at org.apache.hadoop.fs.FileSystem.checkP

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值