Hadoop fs.copyToLocalFile错误

fs.copyToLocalFile(new Path("/study1/1.txt"), new Path("C:/Users/Administrator/Desktop/d2.txt"));

报错

 

log4j:WARN No appenders could be found for logger (org.apache.hadoop.util.Shell).
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.RuntimeException: java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset. -see https://wiki.apache.org/hadoop/WindowsProblems
at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:722)
at org.apache.hadoop.util.Shell.getSetPermissionCommand(Shell.java:256)
at org.apache.hadoop.util.Shell.getSetPermissionCommand(Shell.java:273)
at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:767)
at org.apache.hadoop.fs.RawLocalFileSystem$LocalFSFileOutputStream.<init>(RawLocalFileSystem.java:235)
at org.apache.hadoop.fs.RawLocalFileSystem$LocalFSFileOutputStream.<init>(RawLocalFileSystem.java:219)
at org.apache.hadoop.fs.RawLocalFileSystem.createOutputStreamWithMode(RawLocalFileSystem.java:314)
at org.apache.hadoop.fs.RawLocalFileSystem.create(RawLocalFileSystem.java:302)
at org.apache.hadoop.fs.RawLocalFileSystem.create(RawLocalFileSystem.java:334)
at org.apache.hadoop.fs.ChecksumFileSystem$ChecksumFSOutputSummer.<init>(ChecksumFileSystem.java:399)
at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:462)
at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:441)
at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:1067)
at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:1048)
at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:937)
at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:391)
at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:364)
at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:314)
at org.apache.hadoop.fs.FileSystem.copyToLocalFile(FileSystem.java:2375)
at org.apache.hadoop.fs.FileSystem.copyToLocalFile(FileSystem.java:2344)
at org.apache.hadoop.fs.FileSystem.copyToLocalFile(FileSystem.java:2320)
at hadoop290.hdfs.HdfsClient.main(HdfsClient.java:27)
Caused by: java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset. -see https://wiki.apache.org/hadoop/WindowsProblems
at org.apache.hadoop.util.Shell.fileNotFoundException(Shell.java:534)
at org.apache.hadoop.util.Shell.getHadoopHomeDir(Shell.java:555)
at org.apache.hadoop.util.Shell.getQualifiedBin(Shell.java:578)
at org.apache.hadoop.util.Shell.<clinit>(Shell.java:675)
at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:78)
at org.apache.hadoop.fs.FileSystem$Cache$Key.<init>(FileSystem.java:3420)
at org.apache.hadoop.fs.FileSystem$Cache$Key.<init>(FileSystem.java:3416)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:3258)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:470)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:223)
at hadoop290.hdfs.HdfsClient.main(HdfsClient.java:21)
Caused by: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.
at org.apache.hadoop.util.Shell.checkHadoopHomeInner(Shell.java:454)
at org.apache.hadoop.util.Shell.checkHadoopHome(Shell.java:425)
at org.apache.hadoop.util.Shell.<clinit>(Shell.java:502)
... 7 more

解决方法

 fs.copyToLocalFile(false,new Path("/study1/1.txt"), new Path("C:/Users/Administrator/Desktop/d2.txt"),true);

   加一个false 和true 就好了!!

原文地址:https://www.cnblogs.com/tongxupeng/p/10257556.html

时间: 2024-10-23 10:12:16

Hadoop fs.copyToLocalFile错误的相关文章

hadoop fs -put localfile . 时出现如下错误: could only be replicated to 0 nodes, instead of 1

hadoop fs -put localfile . 时出现如下错误:could only be replicated to 0 nodes, instead of 1网友的说法: 这个问题是由于没有添加节点的原因,也就是说需要先启动namenode,再启动datanode,然后启动jobtracker和tasktracker.这样就不会存在这个问题了. 这个异常主要是因为hdfs文件系统出现异常,解决方法是:先停hadoop:到hadoop.tmp.dir这里配置路径清除文件:(hadoop.

执行hadoop fs -ls时出现错误RuntimeException: core-site.xml not found

由于暴力关机,Hadoop fs -ls 出现了下图问题: 问题出现的原因是下面红框框里面的东西,我当时以为从另一个节点下载一个conf.cloudera.yarn文件就能解决问题,发现不行啊,于是删掉. 从另一个节点scp过来这个文件. 解决办法: scp -r /etc/hadoop/conf.cloudera.yarn [email protected]:/etc/hadoop/conf.cloudera.yarn 问题解决了.如下图:

用java运行Hadoop程序报错:org.apache.hadoop.fs.LocalFileSystem cannot be cast to org.apache.

用java运行Hadoop例程报错:org.apache.hadoop.fs.LocalFileSystem cannot be cast to org.apache.所写代码如下: package com.pcitc.hadoop; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.h

解决hadoop中 bin/hadoop fs -ls ls: `.&#39;: No such file or directory问题

出现这样的问题确实很苦恼...使用的是2.7版本..一般论坛上的都是1.x的教程,搞死人 在现在的2.x版本上的使用bin/hadoop fs -ls  /就有用 应该使用绝对路径就不会有问题....mkdir也是一样的..具体原因不知,我使用相对路径会出现错误.... 解决hadoop中 bin/hadoop fs -ls ls: `.': No such file or directory问题

data audit on hadoop fs

最近项目中遇到了存储在HDFS上的数据格式不对,是由于数据中带有\r\n的字符,程序处理的时候没有考虑到这些情况.历史数据大概有一年的时间,需要把错误的数据或者重复的数据给删除了,保留正确的数据,项目中使用Pig来进行数据处理,所以我写了一个UDF的JAVA类去过滤那些错误的数据,把错误的数据和正确的数据分别存了一份,然后写了以下脚本统计数据的Schema和条数,记录下来,以后项目可以参考. #!/bin/sh curDir=`cd "$(dirname $0)";pwd` summa

(转)Hadoop之常见错误集锦

Hadoop之常见错误集锦 下文中没有特殊说明,环境都是CentOS下Hadoop 2.2.0.1.伪分布模式下执行start-dfs.sh脚本启动HDFS时出现如下错误:                vi打开libexec/hadoop-config.sh中,查找JAVA_HOME is not set and could not be found,找到后在这一行if [[ -z $JAVA_HOME ]]; then的前面添加如下语句即可:        export JAVA_HOME=

何时使用hadoop fs、hadoop dfs与hdfs dfs命令

hadoop fs:使用面最广,可以操作任何文件系统. hadoop dfs与hdfs dfs:只能操作HDFS文件系统相关(包括与Local FS间的操作),前者已经Deprecated,一般使用后者. 以下内容参考自stackoverflow Following are the three commands which appears same but have minute differences hadoop fs {args} hadoop dfs {args} hdfs dfs {a

hadoop fs 命令

1,hadoop fs –fs [local | <file system URI>]:声明hadoop使用的文件系统,如果不声明的话,使用当前配置文件配置的,按如下顺序查找:hadoop jar里的hadoop-default.xml->$HADOOP_CONF_DIR下的hadoop-default.xml->$HADOOP_CONF_DIR下的hadoop-site.xml.使用local代表将本地文件系统作为hadoop的DFS.如果传递uri做参数,那么就是特定的文件系统

【转】Hadoop FS Shell命令

FS Shell 调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args> 的形式. 所有的的FS shell命令使用URI路径作为参数.URI格式是scheme://authority/path .对 HDFS文件系统,scheme是hdfs ,对本地文件系统,scheme是file .其中scheme和 authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme.一个HDFS文件或目录比如/parent/child 可 以表示成hdfs: