我最近在我当地的ubuntu上安装了hadoop。我已经通过调用bin/start-all.sh
脚本启动了数据节点。但是,当我尝试运行单词计数程序
bin/hadoop jar hadoop-examples-1.2.1.jar wordcount /home/USER/Desktop/books /home/USER/Desktop/books-output
我总是得到一个连接异常。 “books”文件夹位于我的桌面(本地文件系统)上。关于如何克服这个问题的任何建议?
我已按照this教程中的每个步骤进行操作。我不知道如何摆脱这个错误。所有帮助将不胜感激。
答案 0 :(得分:0)
将您的图书文件复制到您的hdfs
并且对于输入路径参数,请使用复制的书籍文件的hdfs路径。
了解更多详情,请参阅以下链接。
答案 1 :(得分:0)
这里有一点混乱,当你运行hadoop ...
命令时,它使用的默认文件系统是 hadoop分布式文件系统因此文件必须位于hdfs上hadoop访问它。
要将文件从本地文件系统复制到hadoop文件系统,您必须使用以下命令
hdfs dfs -copyFromLocal /path/in/local/file/system /destination/on/hdfs
如果您想直接从 IDE 运行程序,还有一件事情,那么有时您会遇到这个问题,可以通过添加
来解决 conf变量中的 core-site.xml and hdfs-site.xml
个文件类似于
conf.addResource(new Path("/usr/local/hadoop/etc/hadoop/core-site.xml"));
conf.addResource(new Path("/usr/local/hadoop/etc/hadoop/hdfs-site.xml"));
将上面的路径更改为hdfs-site.xml,将core-site.xml更改为本地路径。
因此,也可以通过命令行将上述参数添加到带有-cp
标记的classPath中。