Windows安装Hadoop全流程指南:从环境准备到集群启动(附避坑指南)
一、安装前准备:依赖项与工具
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:解压到目标目录
- 创建安装目录(无中文和空格),如
C:\hadoop。 - 使用解压工具(如7-Zip)将
tar.gz文件解压至此目录,最终路径为:D:\hadoop
三、配置Hadoop环境变量
步骤1:设置HADOOP_HOME
- 按 Win + S 搜索 环境变量 → 编辑系统环境变量。
- 在 系统变量 中点击 新建:
- 变量名:
HADOOP_HOME - 变量值:
D:\hadoop(根据实际路径修改)
- 变量名:
步骤2:更新Path变量
- 编辑 系统变量 中的
Path,添加以下两条路径:%HADOOP_HOME%\bin %HADOOP_HOME%\sbin
步骤3:安装winutils(关键!)
- 下载对应Hadoop版本的
winutils:- 访问 winutils GitHub仓库,找到与Hadoop版本匹配的
bin目录(如hadoop-3.3.6/bin)。
- 访问 winutils GitHub仓库,找到与Hadoop版本匹配的
- 将
winutils.exe和hadoop.dll复制到Hadoop的bin目录(覆盖原文件):D:\hadoop\bin - 将
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:验证进程
- 输入
jps查看运行中的Java进程,包含类似下面的项目:7672 NameNode 15484 DataNode - 访问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无法启动
- 原因:临时目录权限不足或未格式化。
- 解决:
- 删除
C:\hadoop\tmp目录并重新格式化:hdfs namenode -format - 以管理员身份运行CMD。
- 删除
问题3:端口冲突
- 解决:修改
core-site.xml中的fs.defaultFS端口(如改为9001)。
结语
通过以上步骤,Windows本地Hadoop环境已搭建完成。建议学习过程中使用WSL 2或虚拟机运行Hadoop以规避兼容性问题。如需深入掌握分布式计算,可进一步配置多节点集群或集成Hive、HBase等生态工具。




