hadoop fs -put未知命令

时间:2014-06-19 18:53:34

标签: hadoop command put

使用以下命令

创建文件夹[LOAN_DATA]
 /my_work/hadoop-1.0.3/bin$hadoop fs -mkdir hdfs://masterNode:8020/tmp/hadoop-hadoop/dfs/LOAN_DATA

现在我们使用网址开启

目录/ tmp / hadoop-hadoop / dfs的内容显示LOAN_DATA

然后我想使用PUT或copyFromLocal将TXT文件中的一些数据存储到LOAN_DATA文件夹

put:未知命令

/ hadoop fs -put' /home/hadoop/my_work/Acquisition_2012Q1.txt' HDFS:// masterNode:8020 / TMP / Hadoop的的hadoop / DFS / LOAN_DATA

如何解决此问题?

3 个答案:

答案 0 :(得分:7)

复制粘贴命令并使用它时,可能会发生此问题。这是因为文档中使用的字体(或字符集)发生了变化。

例如:

如果您复制/粘贴并执行命令 -

hdfs dfs -put workflow.xml /testfile/workflow.xml

你可能会 -

–put: Unknown command

OR

–p-t: Unknown command

这是因为副本是从UTF-8文件完成的,并且复制的-u(或任何字符)可能具有不同的字符集。

所以只需在终端上输入命令(不要复制/粘贴),你应该没问题。

  

或者,如果您正在运行从中复制的shell脚本   其他一些编辑器在运行之前在脚本上运行dos2unix   在Linux终端上。

     

例如:dos2unix <shell_script.sh>

答案 1 :(得分:4)

尝试了你的命令&#34;它出现了#34;,上面的命令中有一个拼写错误&hadoop fs -put ....&#39;。

使用&#39; -put&#39;而不是&#39; -put&#39;或者&#39; -copyFromLocal&#39;。问题在于&#39; - &#39;但正确的性格应该是&#39; - &#39;。因此,错误很明显: - )

这是我的示例(使用get命令而不是put):

$ hadoop fs –get /tmp/hadoop-data/output/* /tmp/hadoop-data/output/
 –get: Unknown command
$ hadoop fs -get /tmp/hadoop-data/output/* /tmp/hadoop-data/output/
 get: `/tmp/hadoop-data/output/part-r-00000': File exists

答案 2 :(得分:2)

当然,Anand的回答是正确的。但它可能不是一个错字,而是一个微妙的陷阱。通常,当人们学习新技术时,他们会复制并粘贴来自网站和博客的命令。通常,最初作为短划线输入的内容将被复制为连字符。连字符与短划线的不同之处仅在于它们有点长,因此很难发现错误,但由于它们是完全不同的字符,因此命令错误,即“未找到”。