Java Hadoop要求输入路径位于localhost 9000上
我试图运行Tom Whites的第2章示例 当我运行命令时:Java Hadoop要求输入路径位于localhost 9000上,java,hadoop,Java,Hadoop,我试图运行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_00
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
我错在哪里了
我没有接触他的源代码,可以在这里找到:
您的
核心站点.xml
和hdfs站点.xml
文件配置为使用本地主机:9000
。如果这不是你期望的(这是我从你的帖子标题中得到的),你期望什么
我们谈论的是什么版本的Hadoop?您是如何安装Hadoop发行版的?从您的另一个问题和配置文件来看,我猜您使用了CHD4。如果你仔细看看,你能看到你是否遗漏了什么吗
在启动Hadoop之前,您是否格式化了HDFS
$ hadoop namenode -format
那么,在启动Hadoop之后,除了信息消息之外,您还会收到其他消息吗
您是否将输入数据复制到HDFS中
$ hadoop dfs -put /tmp/my/input/data input
最后,您从简单的HDFS命令中得到了什么,例如:
$ hadoop dfs -ls /
更新:运行单词计数
hadoop dfs-ls/
应该可以工作hadoop dfs-将文本文件放入输入文件夹
hadoop dfs-ls.
查看文件是否被正确复制hadoop-examples-X.Y.Z.jar
文件$hadoop jar hadoop示例-*.jar字数输入\文件夹输出\文件夹
忘记在
etc/hadoop/hadoop env.sh
中设置JAVA_HOME
也可能导致此错误您可以发布您的core site.xml
、mapred site.xml
和hdfs site.xml
文件吗?默认情况下,它们应该位于hadoop-X.Y.Z/conf
@PhilippeSignoret:当然,我在Github上发布了它们作为要点,这里:至于“hadoop dfs-ls/”:我从localhost/127.0.1 tp localhost获得连接被拒绝的错误:90000否我没有格式化节点?我也应该这么做?不,我也没有将输入数据复制到HDFS中…我们也应该这样做?试试看,让我们知道它是否有效。附录A可以让您更深入地了解配置,但是上面的命令应该可以用于格式化。我建议您从其中一个Hadoop示例开始。我将用一个例子进行编辑。