【问题标题】:Hadoop 2.1.0-beta wordcount example errorHadoop 2.1.0-beta wordcount 示例错误
【发布时间】:2013-09-22 17:54:50
【问题描述】:

我是 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/ 给我:

不推荐使用:不推荐使用此脚本执行 hdfs 命令。 而是使用 hdfs 命令。

13/09/22 20:41:06 WARN conf.Configuration:错误的 conf 文件:元素不是 13/09/22 20:41:06 WARN util.NativeCodeLoader:无法为您的平台加载 native-hadoop 库...在适用的情况下使用内置 java 类 22 年 13 月 9 日 20:41:06 警告 conf.Configuration:错误的 conf 文件:元素不是 22 年 13 月 9 日 20:41:06 警告 conf.Configuration:错误的 conf 文件:元素不是 copyFromLocal: `/opt/hdfsdata/': 没有这样的文件或目录

/opt/hdfsdata 确实存在。

感谢您的任何提示!

【问题讨论】:

    标签: hadoop


    【解决方案1】:

    /opt/hdfsdata 可能代表本地 FS 上的路径,而命令 copyFromLocal 需要 HDFS 路径。确保在您的 HDFS 上存在此路径,或者有权在 HDFS 中创建它。

    如果您想将其与本地 FS 一起使用,请使用具有正确方案的完整路径: file:///opt/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:/。

    【讨论】:

    • 是的 /opt/hdfsdata 是本地 FS 上的路径,我尝试了以下方法: sudo ./hadoop dfs -copyFromLocal /home/user/input/inputfile hdfs://1.2.3.4 :9000/输入/输入文件。它给出了:没有这样的文件或目录。如何创建它?
    • 没有这样的文件或目录是为了什么?源代码?还是目的地??
    • 实际上不需要使用 HDFS 命令,我只是尝试按照指南显示的 wordcount 示例进行操作。 dest 没有这样的文件或目录(hdfs://1.2.3.4:9000/input/inputfile)。如何将输入文件上传到 HDFS 目录以便用于字数统计?
    • 那么肯定不存在dest。请确保您使用正确名称的正确路径,因为这是命令的工作方式。另外,请确保您具有创建权限。
    • 好的,我将文件上传到我的namenode上的/opt/hdfsdata。至于 wordcount 的例子,我集群的 datanodes 将可以通过 HDFS 访问输入文件,从而执行所需的 map/reduce 任务,对吧?
    【解决方案2】:

    通过下面的链接,它将为您提供 wordcount 程序的解决方案。

    http://cs.smith.edu/dftwiki/index.php/Hadoop_Tutorial_1_--_Running_WordCount#Basic_Hadoop_Admin_Commands

    或

    运行以下命令,,,

    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
    

    【讨论】:

    • 我运行了上面的两个命令,但它们都给了/opt/hdfsdata: No such file or directory。该目录存在,但由于某种原因 hadoop 看不到它。
    • 为什么每个 mkdir 命令(hadoop dfs -mkdir /opt/hdfsdata)都返回“没有这样的文件或目录”?它不存在并且我想创建它不是很明显吗?顺便说一句,我的 hadoop 版本似乎不推荐使用 wordcount 示例的链接。运行./hadoop fs -ls hdfs://localhost:9000/opt/hdfsdata 给出Call From master/1.2.3.4 to localhost:9000 failed on connection exception: java.net.ConnectException: Connection refused;
    • 它给了DEPRECATED: Use of this script to execute hdfs command is deprecated. Instead use the hdfs command for it. Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /opt/hadoop/lib/native/libhadoop.so which might have disabled stack guard. The VM will try to fix the stack guard now. It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'. 13/09/24 10:47:42 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    • run "hadoop fs -ls /" 如果这个命令不工作运行hadoop datanode -start或hadoop datanode -rollback这个命令显示你是否有权限在HDFS中创建目录如果没有那么它将通过权限异常.
    • hadoop datanode -start 给了STARTUP_MSG: java = 1.7.0_40 ************************************************************/ INFO datanode.DataNode: registered UNIX signal handlers for [T ERM, HUP, INT] Usage: java DataNode [-rollback | -regular] 13/09/24 11:46:48 WARN datanode.DataNode: Exiting Datanode 13/09/24 11:46:48 INFO util.ExitUtil: Exiting with status 0 13/09/24 11:46:48 INFO datanode.DataNode: SHUTDOWN_MSG: /************************************************************ SHUTDOWN_MSG: Shutting down DataNode at master/1.2.3.4。它有什么作用?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-29
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多