我已经在 ubuntu 14.04 上安装了 Hadoop 2.6,我需要帮助来运行它

我已经在 ubuntu 14.04 上安装了 Hadoop 2.6,我需要帮助来运行它

我有一个 64 位 Ubuntu 14.04,我安装了单节点集群 hadoop 2.6,所有节点都在运行,但是当我尝试将示例文本文件放入 hdfs 时,它不起作用,我已经开始学习 hadoop,所以请解释一下,这将会很有帮助。我需要有关将测试文件放入 hdfs 并对文本文件执行简单计算的命令的帮助。网络上的教程令人困惑,因为某些命令因不同的 hadoop 和 ubuntu 版本而异。

答案1

要将文件放入 HDFS,可以使用put以下命令:

hadoop fs -put path-in-your-local-filesystem path-in-HDFS

请注意,如果您想将文件放在 HDFS 中的新目录中,put则不会创建目录本身。您需要mkdir先按如下所示操作:(-p根据需要创建父目录)

hadoop fs -mkdir -p /user/input
hadoop fs -put /home/hduser/Desktop/input-file /user/input

(假设输入文件保存在 hduser 的桌面上)

要使用 Hadoop 对文件执行计算,您需要编写mapreduce函数。我建议您从 Word Count 程序开始学习 MapReduce 编程。您可以参考 Hadoop:权威指南。

接下来,您需要使用以下命令编译 Java 源文件(例如 WordCount.java):

sudo javac -classpath /usr/local/hadoop/share/hadoop/common/hadoop-common-2.6.0.jar:/usr/local/hadoop/share/hadoop/common/lib/hadoop-annotations-2.6.0.jar:/usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.6.0.jar WordCount.java

接下来,使用以下方法创建一个包含所有类的 jar 文件

jar -cvf wc WordCount*.class

其中 wc 是新创建的 jar 的名称。

接下来,使用

hadoop jar jar-name main-class-name input-path-in-HDFS output-path-in-HDFS

对于此示例,您可以使用

hadoop jar wc WordCount /user/input/input-file /user/output

它将在 HDFS 中自动创建输出目录。

相关内容