HADOOP - 将文本文件复制到 HDFS 时出现问题

标签 hadoop mapreduce hdfs word-count

我正在按照著名的 Michael Noll Tutorial 实现 Hadoop 单节点集群.集群正常运行,使用 jps 检查显示所有组件在执行 start-all.sh 后都在运行。

我在使用一些下载的文本重现 wordcount-example 时遇到问题。我在 /tmp/gutenberg 中下载了文件并检查了它们是否在那里,情况似乎是这样:

hduser@ubuntu:~$ ls -l /tmp/gutenberg/
insgesamt 3604
-rw-r----- 1 hduser hadoop  674570 Mai  7 01:03 pg20417.txt
-rw-r----- 1 hduser hadoop 1573151 Mai  7 01:03 pg4300.txt
-rw-r----- 1 hduser hadoop 1423803 Mai  7 01:03 pg5000.txt

然后我按照教程中的指示启动 Hadoop 集群,然后执行以下命令:

hduser@ubuntu:~$ hadoop dfs -copyFromLocal /tmp/gutenberg /user/hduser/gutenberg
copyFromLocal: `/user/hduser/gutenberg': No such file or directory

显然没有文件 /user/hduser/gutenberg,所以我用以下内容创建了它:

hduser@ubuntu:/usr/local/hadoop$ bin/hadoop fs -mkdir -p /user/hduser/gutenberg

然后重新运行 copyFromLocal 命令,没有任何错误。如果我随后检查文件是否存在,我会得到:

hduser@ubuntu:/usr/local/hadoop$ bin/hadoop dfs -ls /user/hduser/gutenberg
Found 1 items
drwxr-xr-x   - hduser supergroup          0 2015-05-07 02:22 /user/hduser/gutenberg/gutenberg

因此,如您所见,文本文件在那里。如果我重新运行 copyFromLocal 命令,我会收到一条消息,指出文件存在:

hduser@ubuntu:/usr/local/hadoop$ hadoop dfs -copyFromLocal /tmp/gutenberg /user/hduser/gutenberg
copyFromLocal: `/user/hduser/gutenberg/gutenberg/pg20417.txt': File exists
copyFromLocal: `/user/hduser/gutenberg/gutenberg/pg4300.txt': File exists
copyFromLocal: `/user/hduser/gutenberg/gutenberg/pg5000.txt': File exists

我不明白这里出了什么问题,非常感谢任何帮助解决这个问题!

最佳答案

您必须使用 bin/hadoop dfs -ls/user/hduser/gutenberg/gutenberg 并且您应该看到所有文件,您使用的 ls 命令错误,没有更多。

关于HADOOP - 将文本文件复制到 HDFS 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30089988/

相关文章:

ubuntu - 启动 Hive 给我一个 SessioniveMetaStoreClietnt 运行时异常

hadoop - 在Cloudera Manager中没有 “starting”服务的情况下,Hadoop服务仍在运行

hadoop - 使用自定义 RecordReader 在 Hadoop 中读取 gzip 文件

sql - 无法将 hive 中的String日期转换为unix时间戳

java - Hadoop Java错误:线程 “main”中的异常java.lang.ClassNotFoundException:泰坦尼克号

apache-spark - 将Spark Dataframe写入HDP2.6中的Hive可访问表

hadoop - hadoop 映射操作如何管理 HDFS 集群上的数据冗余?

java - "hadoop namenode -format"返回 java.net.UnknownHostException

sql - 复制的数据列未在Hive的目标表中分区

java - 将本地目录的内容复制到hdfs中的目录