Windows 7 安装 Hadoop 完整教程:从零开始手把手教你跑通伪分布式
很多做大数据入门的朋友手头只有一台老电脑,系统还是 Windows 7,想先把 Hadoop 装上练练手。别急着换系统或买新机器,Windows 7 上照样能跑伪分布式 Hadoop。下面这套流程是我自己在多台 Win7 机器上反复验证过的,适合完全没接触过大数据的小白,每一步都写清楚,照着点鼠标、敲命令就能搞定。
一、先搞清楚:Win7 装 Hadoop 有哪些坑
Hadoop 官方主推 Linux,Windows 只是“能跑但不推荐”。Win7 本身已经停止更新,装的时候最容易踩这几个坑:
- 权限问题:Hadoop 需要创建文件夹、写日志,UAC 开着会报 Access Denied。
- 路径空格:安装路径千万别带空格,比如别装在
C:\Program Files里。 - 版本匹配:Hadoop 2.7.x 到 2.10.x 对 Win7 兼容性最好,3.x 开始对系统要求更高,建议新手直接选 2.7.7。
- 依赖缺失:必须准备好对应版本的 winutils.exe 和 hadoop.dll,否则 NameNode 直接起不来。
只要按下面顺序做,这些坑都能提前避开。
二、准备工作:下载这些东西就够了
打开电脑,先确认这几样都准备好(全部免费):
-
JDK 1.8
去 Oracle 官网或国内镜像下 64 位 jdk-8u202-windows-x64.exe(更高版本也能用,但 1.8 最稳)。 -
Hadoop 2.7.7 二进制包
官网 apache.org 下载 hadoop-2.7.7.tar.gz(大约 200MB)。 -
winutils 工具包
搜索“hadoop-2.7.7 winutils”下载对应压缩包,里面必须有 winutils.exe 和 hadoop.dll。 -
解压工具
7-Zip 或 WinRAR 都行,用来解压 .tar.gz。 -
管理员权限
后面所有操作都右键“以管理员身份运行”命令提示符或 PowerShell。
建议把所有文件统一放到 D:\bigdata 目录下,后面路径好记,也避免系统盘空间不够。
三、第一步:安装并配置 JDK
- 双击 jdk 安装包,一路下一步,安装路径改成
D:\bigdata\jdk1.8(记住这个路径)。 - 安装完后,右键“计算机”→属性→高级系统设置→环境变量。
- 新建系统变量:
- 变量名:
JAVA_HOME
变量值:D:\bigdata\jdk1.8 - 变量名:
CLASSPATH
变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
- 变量名:
- 找到系统变量里的 Path,在最后面加上:
;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin - 打开命令提示符,输入
java -version,能看到 1.8 版本号就说明成功了。
四、第二步:解压 Hadoop 并放入 winutils
- 用 7-Zip 把 hadoop-2.7.7.tar.gz 解压两次,得到 hadoop-2.7.7 文件夹,把它整个剪切到
D:\bigdata\hadoop-2.7.7。 - 把下载的 winutils 包解压,把里面的 bin 目录下所有文件(尤其是 winutils.exe 和 hadoop.dll)全部复制覆盖到
D:\bigdata\hadoop-2.7.7\bin里。 - 再新建两个文件夹,后面配置要用:
D:\bigdata\hadoop-2.7.7\data\namenodeD:\bigdata\hadoop-2.7.7\data\datanode
路径里绝对不要有中文和空格,这是血泪教训。
五、第三步:配置环境变量
继续打开环境变量窗口:
- 新建系统变量:
- 变量名:
HADOOP_HOME
变量值:D:\bigdata\hadoop-2.7.7
- 变量名:
- 在 Path 最后面追加:
;%HADOOP_HOME%\bin;%HADOOP_HOME%\sbin - 新建变量:
- 变量名:
HADOOP_CONF_DIR
变量值:%HADOOP_HOME%\etc\hadoop
- 变量名:
保存后重新打开一个管理员命令提示符,输入 hadoop version,能显示 Hadoop 2.7.7 就说明环境变量 OK。
六、第四步:修改 Hadoop 配置文件(最关键)
所有配置文件都在 D:\bigdata\hadoop-2.7.7\etc\hadoop 目录下,用记事本打开即可(建议用 Notepad++,避免编码问题)。
1. 修改 hadoop-env.cmd
找到这一行:
set JAVA_HOME=%JAVA_HOME%
改成绝对路径(注意斜杠方向):
set JAVA_HOME=D:\bigdata\jdk1.8
2. 修改 core-site.xml
把 <configuration> 和 </configuration> 之间的内容替换成:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>D:\bigdata\hadoop-2.7.7\data\tmp</value>
</property>
</configuration>
3. 修改 hdfs-site.xml
替换成:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>D:\bigdata\hadoop-2.7.7\data\namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>D:\bigdata\hadoop-2.7.7\data\datanode</value>
</property>
</configuration>
4. 修改 mapred-site.xml
先把 mapred-site.xml.template 复制一份改名为 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.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
保存所有文件,配置就完成了。
七、第五步:格式化并启动 Hadoop
-
以管理员身份打开命令提示符,依次执行:
cd /d D:\bigdata\hadoop-2.7.7 hdfs namenode -format看到 “successfully formatted” 就对了。只做一次,以后别再格式化,否则数据全没。
-
启动 HDFS 和 YARN:
start-dfs.cmd start-yarn.cmd会弹出 4 个黑色窗口(NameNode、DataNode、ResourceManager、NodeManager),不要关。
-
验证是否成功:
- 浏览器打开 http://localhost:50070 ,能看到 NameNode 界面。
- 打开 http://localhost:8088 ,能看到 YARN 资源管理界面。
- 命令行输入
jps,应该能看到 NameNode、DataNode、ResourceManager、NodeManager、Jps 这几个进程。
到这里,伪分布式 Hadoop 已经在你的 Windows 7 上跑起来了。
八、常见报错快速解决
-
“Error: JAVA_HOME is incorrectly set”
回到 hadoop-env.cmd,把路径改成绝对路径,并且用反斜杠\。 -
NameNode 起不来,提示权限不足
右键 winutils.exe → 属性 → 兼容性 → 勾选“以管理员身份运行此程序”。 -
端口被占用
用netstat -ano | findstr 9000查占用进程,然后任务管理器结束它。 -
DataNode 启动后马上消失
多半是 namenode 和 datanode 的 clusterID 不一致。删掉 data 目录下所有内容,重新 format 一次即可。 -
浏览器打不开 50070
检查防火墙有没有拦,或者把 hosts 文件加上127.0.0.1 localhost。
九、装完后可以马上做的几件事
-
用命令上传测试文件:
hdfs dfs -mkdir /test hdfs dfs -put D:\test.txt /test hdfs dfs -ls / -
跑官方自带的 WordCount 例子,感受一下 MapReduce。
-
如果觉得命令行麻烦,可以再装个 Eclipse 或 IDEA,配上 Hadoop 插件,直接在 IDE 里写代码调试。
Win7 机器性能有限,建议只用来学习,真正跑业务还是迁到 Linux 虚拟机或云服务器更合适。按上面步骤做完,基本两小时内就能看到绿色的 NameNode 页面。把每一步路径、命令都核对一遍,成功率会非常高。

还没有评论,来说两句吧...