gpt4 book ai didi

Hadoop:没有这样的文件或目录

转载 作者:可可西里 更新时间:2023-11-01 16:50:59 26 4
gpt4 key购买 nike

所以我对 Hadoop 和命令行是全新的,尽管我以前做过一些编程(作为学生)。我正在尝试在学校机器上从 Putty 运行一些简单的程序(教程的一部分)。

我之前已经让 Hadoop 命令工作,并且运行一个不同的简单程序也很好,但我坚持使用这个。不,这不是家庭作业。只是了解 Hadoop 命令的教程。

说明如下:

/*

测试代码

我们执行符合典型 UNIX 风格管道的本地测试,我们的测试将采用以下形式:

猫 | map |排序 |减少它模拟 Hadoop 在流式传输时将执行的相同管道,尽管是以非分布式方式进行的。您必须确保文件 mapper.py 和 reducer.py 具有执行权限:

chmod u+x mapper.pychmod u+x reducer.py

尝试以下命令并解释结果(提示:在终端窗口中键入 man sort 以了解有关 sort 命令的更多信息):

echo "这是一个测试,应该计算单词的数量"| ./映射器.py |排序-k1,1 | ./reducer.py

*/

运行“hdfs dfs -ls/user/$USER 给出以下结果:

找到 6 个项目drwxr-xr-x-s1353460 s1353460 0 2015-10-20 10:51/user/s1353460/QuasiMonteCarlo_1445334654365_163883167drwxr-xr-x-s1353460 s1353460 0 2015-10-20 10:51/用户/s1353460/数据-rw-r--r-- 3 s1353460 s1353460 360 2015-10-20 12:13/user/s1353460/mapper.py-rw-r--r-- 3 s1353460 s1353460 15346 2015-10-20 11:11/user/s1353460/part-r-00000-rw-r--r-- 2 s1353460 s1353460 728 2015-10-21 10:21/user/s1353460/reducer.pydrwxr-xr-x-s1353460 s1353460 0 2015-10-16 14:38/user/s1353460/source

但是运行 "echo "this is a test and this should count the number of words"|/user/$USER/mapper.py | sort -k1,1 |/user/$USER/reducer.py"返回错误:

-bash:/user/s1353460/reducer.py: 没有那个文件或目录-bash:/user/s1353460/mapper.py: 没有那个文件或目录

这看起来很奇怪,因为恰好在上面列出了那个位置。知道这里会发生什么吗?

最佳答案

But running "echo "this is a test and this should count the number of words" | /user/$USER/mapper.py | sort -k1,1 | /user/$USER/reducer.py" returns errors:

-bash: /user/s1353460/reducer.py: No such file or directory -bash: /user/s1353460/mapper.py: No such file or directory

您已经在 HDFS 上创建了 mapper.pyreducer.py .当您运行此命令时,它会在您的本地文件系统上搜索 mapper.pyreducer.py,而不是在HDFS

解决这个问题:

  1. 确保/user/s1353460/存在于您的本地文件系统。如果没有,创建相同的,然后复制或创建 mapper.py & reducer.py 在/用户/s1353460/

  2. 确保mapper.py有执行权限chmod +x/user/s1353460/mapper.py

  3. 确保 reducer.py 有执行权限 chmod +x/user/s1353460/reducer.py

  4. 运行echo "this is a test and this should count the number of words"|/用户/s1353460/mapper.py |排序-k1,1 |/user/s1353460/reducer.py 这次应该可以正常工作,没有任何错误。

在 Hadoop 集群上运行 Python MapReduce 作业:

hduser@ubuntu:/usr/local/hadoop$ bin/hadoop jar contrib/streaming/hadoop-*streaming*.jar \
-file /user/s1353460/mapper.py -mapper /user/s1353460/mapper.py \
-file /user/s1353460/reducer.py -reducer /user/s1353460/reducer.py \
-input <hdfs-input-path> -output <hdfs-output-path>

假设 Hadoop 安装在/usr/local/hadoop .适当更改路径。

关于Hadoop:没有这样的文件或目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33273247/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com