我正试图通过hdfs复制数据。但是没有一个命令对我不起作用。
我按照在线教程安装了一个单节点集群。安装正确是因为 $jsp
命令显示我所有的6个工作。但当我试图将文件复制到hdfs时,它会显示错误。
我执行的命令是 hduser@naren-Vostro-3560:~$ hdfs dfs -copyFromLocal /home/nare/Desktop/data/first.txt /app/hadoop/tmp
错误 14/12/30 02:18:09 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable copyFromLocal: '/app/hadoop/tmp': No such file or directory
我已授予输入文件(first.txt)的所有权限 naren@naren-Vostro-3560:~$ ls -al /home/naren/Desktop/data total 3612 drwxrwxr-x 2 naren naren 4096 Dec 30 01:40 . drwxr-xr-x 3 naren naren 4096 Dec 30 01:40 .. -rwxrwxrwx 1 naren naren 674570 Dec 30 01:37 first.txt -rwxrwxrwx 1 naren naren 1423803 Dec 30 01:39 second.txt -rwxrwxrwx 1 naren naren 1573151 Dec 30 01:40 third.txt
对hdfs文件夹的权限对我来说也是正确的 hduser@naren-Vostro-3560:~$ ls -l /app/hadoop total 4 drwxr-x--- 5 hduser hadoop 4096 Dec 26 01:22 tmp
我不熟悉hadoop和linux,所以被困在这里。我还尝试用 hduser@naren-Vostro-3560:~$ hadoop fs -mkdir -p /user/hduser/sample
它没有为我创建任何目录。
请告诉我哪里出了问题。
提前谢谢!!
hadoop版本: Hadoop 2.5.2
操作系统: Ubuntu 14.04
1条答案
按热度按时间2g32fytz1#
您需要确保/app/hadoop是在hdfs中创建的,而不是在本地fs中创建的。在检查目录时,使用ls-l,它检查与hdfs命名空间分离的本地文件系统。试试hadoopfs-ls/app/hadoop。如果没有,那么用hadoop fs-mkdir创建它斯克瑟夫