Windows 10下Hadoop 3.2.2 安装指南


首先,你需要安装 Java,因为 Hadoop 是基于它的。然后,您需要下载并配置 Hadoop 文件系统本身。另外,我建议你安装WinRAR,因为你需要解压一些文件。
 
Java 安装和配置
Java 下载

  • Apache Hadoop 3.3 及更高版本支持 Java 8 和 Java 11(仅限运行时),但必须使用 Java 8 进行 Hadoop 编译。
  • 从 3.0.x 到 3.2.x 的 Apache Hadoop 现在仅支持 Java 8。
  • 从 2.7.x 到 2.10.x 的 Apache Hadoop 支持 Java 7 和 8。

在本指南中,我将解释如何安装Hadoop 3.2.2,因此您需要 Java 8。
 
Hadoop 文件系统配置
Hadoop 下载
Java 正常工作后,您需要下载并配置 Hadoop 文件系统。为此,请访问Hadoop 官方下载站点.
  
Hadoop 配置
现在,您需要配置一些 Hadoop 文件。如果您下载了与我相同的 Hadoop 版本,那么您需要转到etc\hadoop之前提取的 Hadoop 目录中的文件夹(在我的情况下,完整路径是C:\hadoop-3.2.2\etc\hadoop)。在那里,使用您喜欢的文本编辑器打开以下五个文件:
  • core-site.xml
  • hadoop-env.cmd
  • hdfs-site.xml
  • mapred-site.xml
  • yarn-site.xml

 
在core-site.xml您需要设置默认的 Hadoop 文件系统位置。将这段代码粘贴到<configuration>标签内:
<property> 
  <name>fs.defaultFS</name> 
  <value>hdfs://localhost:9000</value> 
</property>

在hadoop-env.cmd文件中,您需要提供Java的路径。此路径以前在您设置JAVA_HOME环境变量时使用的。
您需要在第 25 行左右将此路径分配为JAVA_HOME值。
 
在编辑hdfs-site.xml文件之前,您需要创建一些新文件夹。转到存储驱动器根目录中的 Hadoop 主目录并在其中创建data文件夹:
现在,在新目录中创建datanode和文件夹:namenodedata:
datanode 文件夹具有路径C:\hadoop-3.2.2\data\datanode,namenode 目录路径为C:\hadoop-3.2.2\data\namenode.
完成此操作后,您需要提供此文件夹路径作为hdfs-site.xml文件中的属性。您可以将以下块直接复制到<configuration>标签中,只需注意根据您的机器位置调整datanode和namenode路径:
<property> 
  <name>dfs.replication</name> 
  <value>1</value> 
</property>
<property> 
  <name>dfs.namenode.name.dir</name> 
  <value>C:\hadoop-3.2.2\data\namenode</value> 
</property>
<property> 
  <name>dfs.datanode.data.dir</name> 
  <value>C:\hadoop-3.2.2\data\datanode</value> 
</property>

 
在mapred-site.xml文件中,您需要将yarn设置为 MapReduce 框架。在标签内复制以下代码<configuration>:

<property> 
  <name>mapreduce.framework.name</name> 
  <value>yarn</value> 
</property>

 
在最后一个文件中yarn-site.xml,您需要再次在标签内复制一些代码<configuration>:

<property> 
  <name>yarn.nodemanager.aux-services</name> 
  <value>mapreduce_shuffle</value> 
</property>
<property> 
  <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name> 
  <value>org.apache.hadoop.mapred.ShuffleHandler</value> 
</property>


 
Hadoop环境变量配置
正确编辑所有五个文件后,现在您需要为 Hadoop 创建一个环境变量。像创建变量时一样打开环境变量窗口并创建变量,将 Hadoopbin文件夹路径分配为其值(在我的案例:)C:\hadoop-3.2.2\bin
现在,您需要编辑Path系统变量以添加 Hadoop 的路径bin和sbin文件夹。这两个文件夹都在 Hadoop 的根目录中。因此,bin路径与您刚刚分配给HADOOP_HOME变量 ( C:\hadoop-3.2.2\bin) 的路径相同;sbin路径,在我的情况下将是C:\hadoop-3.2.2\sbin:
 
修复 Hadoop 'bin' 文件夹
现在,您需要修复一些配置文件。为此,您需要将 Hadoopbin文件夹替换为另一个bin文件夹,该文件夹已经包含正确配置的所有文件。首先,下载这个压缩文件(hadoop3_xFixedbin.rar)。然后,您需要删除bin文件夹;
之后,您必须解压缩hadoop3_xFixedbin.rar才能将固定bin文件夹移动到 Hadoop 根位置。
您现在已经在您的计算机上配置了 Hadoop 文件系统。
 
Hadoop 安装验证
最后,要检查 Hadoop 是否正常工作,您需要运行它。为此,请以管理员身份打开命令提示符。回想一下,您可以在 Windows 搜索栏中键入“命令提示符CMD” :
需要转到文件夹sbin内的hadoop目录;就我而言,sbin目录位于C:\hadoop-3.2.2\sbin. 输入此路径后,按 Enter;
输入命令start-all.cmd并按 Enter;
您将看到将打开几个命令提示符。如果 Hadoop 配置正确,那么这四个命令提示符将保持打开并运行:

  • hadoop datanode
  • hadoop namenode
  • yarn resourcemanager
  • yarn nodemanager

恭喜,Hadoop 正在运行!
 
运行示例
WordCount 程序是 Hadoop 和 MapReduce 的“Hello World”。我不会深入探讨 MapReduce 框架和 WordCount 编码的细节。这将只是一个关于如何使用 Hadoop 执行任务的演示,如果 Hadoop 正常运行,也将有助于以更实际的方式进行测试。
Hadoop运行时,以管理员身份打开一个新的命令提示符;
输入命令:
hadoop fs -mkdir /input
在 Hadoop 文件系统中创建一个文件夹
如何确保创建了该文件夹?您可以使用文件系统浏览器检查它。打开您喜欢的网络浏览器并输入地址:localhost:9870
现在,你你需要一些文本让hadoop来计算它的单词个数,我将使用Gabriel García Márquez纯文本(西班牙文版)的《一百年孤独》 。您可以在此处找到原始文本。

然后,您需要将此文件放在Hadoop 文件系统中创建的文件夹/input中。为此,请返回命令提示符并键入:

hadoop fs -put <path_to_txt_file> /input

<path_to_txt_file>是存储文本文件的路径。
然后,你需要启动MapReduce,MapReduce 已经包含在 Hadoop 中,您需要hadoop-mapreduce-examples-3.2.2.jar.jar 文件的路径才能运行该程序。它存储在:C:\hadoop-3.2.2\share\hadoop\mapreduce
现在您已经找到了 MapReduce 程序路径,您只需执行以下命令即可运行它:
hadoop jar C:\hadoop-3.2.2\share\hadoop\mapreduce\hadoop-mapreduce-examples-3.2.2.jar wordcount /input /output

使用/input文件夹的内容作为输入,运行字数统计程序,并将结果存储在/output目录中。
如果你打开http://localhost:9870/explorer.html你会看到这个output文件夹
 
恭喜!现在,您在 Windows 10 计算机上运行了 Hadoop 文件系统,并且您已经执行了您的第一个 MapReduce 程序。希望本指南对您有用,非常感谢您阅读!