我是hadoop的新手,有点困惑..我的版本是2.1.0-beta,我按照群集设置指南(http://hadoop.apache.org/docs/stable/cluster_setup.html)。
我正在尝试像http://wiki.apache.org/hadoop/WordCount中那样运行wordcount示例。
命令
./hadoop dfs -copyFromLocal /home/user/input/inputfile /opt/hdfsdata/
给了我:
DEPRECATED:不建议使用此脚本执行hdfs命令。 而是使用hdfs命令。
13/09/22 20:41:06 WARN conf.Configuration:错误的conf文件:元素没有 13/09/22 20:41:06 WARN util.NativeCodeLoader:无法为您的平台加载native-hadoop库...使用适用的builtin-java类 13/09/22 20:41:06 WARN conf.Configuration:糟糕的conf文件:元素没有 13/09/22 20:41:06 WARN conf.Configuration:糟糕的conf文件:元素没有 copyFromLocal:`/ opt / hdfsdata /':没有这样的文件或目录
/ opt / hdfsdata确实存在。
感谢您的任何提示!
答案 0 :(得分:2)
/ opt / hdfsdata 可能代表本地FS上的路径,而命令 copyFromLocal 需要HDFS路径。确保HDFS上存在此路径,或者有权在HDFS中创建它。
如果要将其与本地FS一起使用,请使用具有适当方案的完整路径: 文件:///选择/ hdfsdata 即可。但是为什么要使用HDFS命令呢。普通的 cp ??
有什么问题回复您的评论:
您已将文件复制到本地FS ,即 file:/// opt / hdfsdata / ,但您的工作是在HDFS中寻找此路径。这就是您收到此错误的原因。这就是 dfs -ls 没有显示任何内容的原因。在HDFS中复制文件或使用作业中的本地路径。
试试这个:
bin/hadoop fs -mkdir /opt/hdfsdata/
bin/hadoop fs -copyFromLocal /home/user/input/inputfile /opt/hdfsdata/
Now run your job.
此外,在运行HDFS shell命令时无需使用hdfs:/。
答案 1 :(得分:0)
通过以下链接,它将为您提供wordcount计划的解决方案。
OR
运行以下命令,
hadoop dfs -ls /opt/hdfsdata
/**if this command return your /opt/hdfsdata is directory then you can
easily write your file into hdfsdata directory. */
如果此命令在命令下面没有返回此类文件或目录。
hadoop dfs -mkdir /opt/hdfsdata