我正在尝试在我的笔记本电脑上设置hadoop。我已经按照一些关于设置hadoop的教程。
我跑了这个命令:
array_push($total_array,
array('id'=> $id, 'car'=>$car, 'make'=>$make, 'color' => $color));
如果我再次运行它说它已经存在。
我尝试使用以下命令运行测试jar文件:
bin/hdfs dfs -mkdir /user/<username>
并收到此例外
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar grep input output 'dfs[a-z.]+'
我没有意识到在此错误之前我收到了这个:
16/01/22 15:11:06 INFO mapreduce.JobSubmitter: Cleaning up the staging area /tmp/hadoop-yarn/staging/<username>/.staging/job_1453492366595_0006
org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: hdfs://localhost:9000/user/<username>/grep-temp-891167560
有一个堆栈跟踪如下。 我在Mac PC上。
答案 0 :(得分:2)
我使用Hadoop
2.7.2,而在关注the Official Docs时,我首先遇到了这个问题。
原因是我忘记了“准备启动Hadoop集群”章节。
我通过在JAVA_HOME
中设置etc/hadoop/hadoop-env.sh
来解决这个问题。
答案 1 :(得分:1)
对我来说,这是因为使用错误版本的JDK和hadoop。我用过hadoop 2.6.5。起初,我使用oracle JDK 1.8.0_131启动hadoop,运行示例jar并发生错误。在我使用JDK 1.7.0_80后,该示例就像一个魅力。
有一个关于HadoopJavaVersions的页面。