在执行hadoop jar $HADOOP_HOME/share/hadoop/tools/lib/hadoop-streaming-*.jar \ > -archives mapper.py#mapper.py,reducer.py#reducer.py \ > -mapper mapper.py \ > -reducer reducer.py \ > -input input.txt \ > -output output时报错ERROR streaming.StreamJob: Error Launching job : Input path does not exist: hdfs://hadoop102:8020/user/yinxiyuan/input.txt Streaming Command Failed!怎么解决
时间: 2024-04-21 19:29:36 浏览: 11
这个错误的提示是输入路径不存在,你需要检查以下几点:
1. 确保输入路径 `hdfs://hadoop102:8020/user/yinxiyuan/input.txt` 存在,也就是 `input.txt` 文件已经上传到 HDFS 上。
2. 确保你使用的用户名 `yinxiyuan` 有权限访问 `hdfs://hadoop102:8020/user/yinxiyuan/input.txt` 文件路径。你可以通过执行 `hadoop fs -ls /user/yinxiyuan` 命令来查看该用户是否可以访问该目录。
3. 确保你输入的路径是正确的,你可以尝试使用 `hadoop fs -ls` 命令来查看该路径是否存在。
如果以上三点都没有问题,你可以尝试重新上传 `input.txt` 文件到 HDFS 上,并执行相同的命令。如果还是不行,你可以尝试在输入路径前面加上 `hdfs://`,即 `hdfs://hadoop102:8020/user/yinxiyuan/input.txt`。
相关问题
在执行hadoop jar $HADOOP_HOME/share/hadoop/tools/lib/hadoop-streaming-*.jar \ > -file mapper.py \ > -mapper mapper.py \ > -file reducer.py \ > -reducer reducer.py \ > -input input.txt \ > -output output时报错WARN streaming.StreamJob: -file option is deprecated, please use generic option -files instead.怎么解决
这个警告提示说 `-file` 选项已经被弃用了,应该使用通用选项 `-files`。所以你可以将命令中的 `-file` 替换为 `-files`,例如:
```
hadoop jar $HADOOP_HOME/share/hadoop/tools/lib/hadoop-streaming-*.jar \
-files mapper.py \
-mapper mapper.py \
-files reducer.py \
-reducer reducer.py \
-input input.txt \
-output output
```
这样就可以避免这个警告了。
在执行hadoop jar $HADOOP_HOME/share/hadoop/tools/lib/hadoop-streaming-*.jar \ -files mapper.py \ -mapper mapper.py \ -files reducer.py \ -reducer reducer.py \ -input input.txt \ -output output时报错ERROR streaming.StreamJob: Unrecognized option: -files
如果你使用的 Hadoop 版本是 2.6.0 或以上的版本,那么 `-files` 选项已经被弃用了,改为使用 `-archives` 选项。
所以你可以将命令中的 `-files` 替换为 `-archives`,例如:
```
hadoop jar $HADOOP_HOME/share/hadoop/tools/lib/hadoop-streaming-*.jar \
-archives mapper.py#mapper.py,reducer.py#reducer.py \
-mapper mapper.py \
-reducer reducer.py \
-input input.txt \
-output output
```
这样就可以避免这个错误了。