Skip to content

Windows安装Hadoop全流程指南:从环境准备到集群启动(附避坑指南)

1086字约4分钟

环境搭建开发

2025.4.28

一、安装前准备:依赖项与工具

1. 为什么选择Hadoop?

Hadoop是分布式计算与存储的核心框架,广泛应用于大数据处理。在Windows上安装Hadoop需解决兼容性问题,适合本地学习与测试(生产环境建议使用Linux)。

2. 必备依赖

  • Java环境:需提前安装JDK 8或JDK 11(参考Windows安装Java指南),并配置JAVA_HOME
  • SSH工具:Hadoop依赖SSH通信,需安装OpenSSH for Windows或第三方工具(如PuTTY)。
  • Hadoop Windows支持包:需下载winutils(解决Hadoop在Windows的兼容性问题)。

二、下载Hadoop并解压

步骤1:获取Hadoop安装包

  • 官网下载:访问Apache Hadoop官网,选择稳定版本(如hadoop-3.3.6),下载binary包(如hadoop-3.3.6.tar.gz)。

步骤2:解压到目标目录

  1. 创建安装目录(无中文和空格),如C:\hadoop
  2. 使用解压工具(如7-Zip)将tar.gz文件解压至此目录,最终路径为:
    D:\hadoop

三、配置Hadoop环境变量

步骤1:设置HADOOP_HOME

  1. Win + S 搜索 环境变量编辑系统环境变量
  2. 系统变量 中点击 新建
    • 变量名:HADOOP_HOME
    • 变量值:D:\hadoop(根据实际路径修改)

步骤2:更新Path变量

  1. 编辑 系统变量 中的 Path,添加以下两条路径:
    %HADOOP_HOME%\bin
    %HADOOP_HOME%\sbin

步骤3:安装winutils(关键!)

  1. 下载对应Hadoop版本的winutils
  2. winutils.exehadoop.dll复制到Hadoop的bin目录(覆盖原文件):
    D:\hadoop\bin
  3. hadoop.dll复制到系统目录(如果后面出现问题再执行这一步):
    copy D:\hadoop\bin\hadoop.dll C:\Windows\System32

四、修改Hadoop配置文件

文件位置

所有配置文件位于%HADOOP_HOME%\etc\hadoop目录。

1. 配置hadoop-env.cmd

用文本编辑器打开hadoop-env.cmd,设置JAVA_HOME

  set JAVA_HOME=D:\java\jdk1.8.0_441

(路径需与实际JDK安装目录一致)

2. 配置core-site.xml

<configuration>
   <property>
      <name>fs.defaultFS</name>
      <value>hdfs://localhost:9000</value>
   </property>
   <property>
      <name>hadoop.tmp.dir</name>
      <value>file:///D:/hadoop/tempdir</value> 
   </property>
</configuration>

(注意:Windows路径需用/代替\

警告

tempdir文件夹需要提前创建!!!

3. 配置hdfs-site.xml

<configuration>
   <property>
      <name>dfs.replication</name>
      <value>1</value>
   </property>
   <property>
	  <name>dfs.permissions</name>
      <value>false</value>
      <description>Enables or disables HDFS permissions checking.</description>
   </property>
   <property>
      <name>dfs.namenode.name.dir</name>
      <value>file:///D:/hadoop/data/namenode</value>
   </property>
   <property>
      <name>dfs.datanode.data.dir</name>
      <value>file:///D:/hadoop/data/datanode</value>
   </property>
</configuration>

警告

namenode与datanode文件夹也需要提前创建!!!

4. 配置mapred-site.xml

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

5. 配置yarn-site.xml

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

五、启动Hadoop单节点集群

步骤1:格式化HDFS

以管理员身份打开CMD,执行:

  hdfs namenode -format

(输出中出现 successfully formatted 表示成功)

步骤2:启动HDFS和YARN

  # 启动HDFS
  start-dfs.cmd
  # 启动YARN
  start-yarn.cmd(暂时用不到可以不用启动)

步骤3:验证进程

  1. 输入 jps 查看运行中的Java进程,包含类似下面的项目:
    7672 NameNode
    15484 DataNode
  2. 访问Web UI:
    • HDFS:http://localhost:9870
    • YARN:http://localhost:8088(如果没启动则无法打开)

六、运行测试任务

示例:WordCount统计词频

  # 创建输入目录
  hdfs dfs -mkdir /input
  # 上传本地文件到HDFS
  hdfs dfs -put C:\test.txt /input
  # 运行MapReduce任务
  hadoop jar %HADOOP_HOME%/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount /input /output
  # 查看结果
  hdfs dfs -cat /output/part-r-00000

七、常见问题与解决

问题1:启动时报错“找不到winutils.exe”

  • 解决:检查winutils.exe是否放入Hadoop的bin目录,且版本与Hadoop一致。

问题2:DataNode无法启动

  • 原因:临时目录权限不足或未格式化。
  • 解决
    1. 删除C:\hadoop\tmp目录并重新格式化:
      hdfs namenode -format
    2. 以管理员身份运行CMD。

问题3:端口冲突

  • 解决:修改core-site.xml中的fs.defaultFS端口(如改为9001)。

结语

通过以上步骤,Windows本地Hadoop环境已搭建完成。建议学习过程中使用WSL 2或虚拟机运行Hadoop以规避兼容性问题。如需深入掌握分布式计算,可进一步配置多节点集群或集成Hive、HBase等生态工具。

你认为这篇文章怎么样?
  • 0
  • 0
  • 0
  • 0
  • 0
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v3.4.1

本站支持IPv6访问