3

我正在尝试运行 Tom Whites 的第 2 章示例

当我运行命令时:

hadoop MaxTemperature input/ncdc/sample.txt output

我得到的错误是:

11/12/31 18:08:28 INFO mapred.JobClient: Cleaning up the staging area hdfs://localhost:9000/tmp/hadoop-mymac/mapred/staging/mymac/.staging/job_201112311807_0001
11/12/31 18:08:28 ERROR security.UserGroupInformation: PriviledgedActionException as:mymac (auth:SIMPLE) cause:org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: hdfs://localhost:9000/user/mymac/input/ncdc/sample.txt
Exception in thread "main" org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: hdfs://localhost:9000/user/mymac/input/ncdc/sample.txt

我设置错了什么?

我没有接触过他的源代码,可以在这里找到:

https://github.com/tomwhite/hadoop-book/tree/3e/ch02

4

2 回答 2

6

您的core-site.xmlhdfs-site.xml文件配置为使用localhost:9000. 如果这不是您所期望的(这是我从您的帖子标题中得到的),期望什么?

我们在谈论什么版本的 Hadoop?您是如何安装 Hadoop 发行版的?从您的其他问题和配置文件来看,我猜您使用的是 CHD4。如果您查看Cloudera 的说明,您能看到是否遗漏了什么吗?

在启动 Hadoop 之前,您是否格式化过 HDFS?

$ hadoop namenode -format

那么,在启动 Hadoop 之后,除了 INFO 消息之外,你是否得到了其他信息?

您是否将输入数据复制到 HDFS 中?

$ hadoop dfs -put /tmp/my/input/data input

最后,您可以从简单的 HDFS 命令中得到什么,例如:

$ hadoop dfs -ls /

更新:运行字数

  1. 启动并运行 HDFS。跑步hadoop dfs -ls /应该可以。
  2. 将包含文本文件的文件夹复制到 HDFS:hadoop dfs -put text_files input_folder
  3. 运行hadoop dfs -ls .以查看您的文件是否被正确复制。
  4. 在您的系统上找到该hadoop-examples-X.Y.Z.jar文件。
  5. 导航到它所在的任何目录,然后运行:

    $ hadoop jar hadoop-examples-*.jar WordCount input_folder output_folder.

  6. 您应该会看到 MapReduce 应用程序的进度。

  7. 完成后,使用 . 查看输出hadoop dfs -cat output_folder/*
于 2013-03-31T19:20:23.680 回答
1

忘记设置也可能导致这个JAVA_HOME错误etc/hadoop/hadoop-env.sh

于 2016-04-20T06:42:28.370 回答