在搭建Hadoop环境之前需要先安装JDK,并且配置好Java环境变量。注意:Java环境变量中不允许有空格,如 C:\Program Files(x86)\java\xxxxx , 后续步骤中在 hadoop-env.cmd 配置 JAVA_HOME 时,这种环境变量的是无法识别的,容易报 “Error JAVA_HOME is incorrectly set.” 之类的错误。
1.下载安装
Hadoop3.3.0 下载地址:http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/
解压到指定目录,解压后如下图,注意data文件是后续生成的
2.配置Hadoop环境变量
在系统变量中新建HADOOP_HOME路径,如图所示
在path路径中新建%HADOOP_HOME%\bin并上移到最上方
3.修改配置文件
这里需要修改的配置文件有:
- core-site.xml
- hdfs-site.xml
- yarn-site.xml
- hadoop-env.cmd
3.1 core-site.xml
这个文件没有特别需要注意的地方,直接覆盖就行
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/D:/work/soft/hadoop_temp/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
3.2 hdfs-site.xml
这是Hadoop分布式文件系统的配置,主要是配置 namenode 和 datanode(执行start-all后生成的)的路径
这里指定了生成路径为D:\hadoop\hadoop-3.3.0\data\datanode和D:\hadoop\hadoop-3.3.0\data\namenode
**(注意正反斜杠)**上图的data目录便是执行此文件后生成的
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/D:/hadoop/hadoop-3.3.0/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/D:/hadoop/hadoop-3.3.0/data/datanode</value>
</property>
<!-- 50700打不开请配置这个. -->
<property>
<name>dfs.http.address</name>
<value>localhost:50070</value>
</property>
</configuration>
3.3 yarn-site.xml
这里需要注意,nodemanager 要求的内存最低为1G,所以value至少是1024,否则无法启动nodemanager。
<configuration>
<!-- nodemanager要求的内存最低为1024 -->
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>1024</value>
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>1</value>
</property>
</configuration>
3.4 hadoop-env.cmd
如果已经创建了JAVA_HOME系统变量,则无序更改,如果没有则将set JAVA_HOME=%JAVA_HOME%更改为set JAVA_HOME=你的jdk安装路径
@rem The java implementation to use. Required.
set JAVA_HOME=%JAVA_HOME%
4 格式化HDFS系统
在格式化之前还需要下载windows专用二进制文件和工具类依赖库: hadoop在windows上运行需要winutils支持和hadoop.dll等文件
注意!一定要下载与hadoop3.3.0版本一致的winutils.exe和hadoop.dll,否则会不兼容而报错!
下载地址:https://github.com/kontext-tech/winutils/blob/master/hadoop-3.3.0/bin/hadoop.dll
将下载后的winutils.exe和hadoop.dll放到hadoop安装路径的bin目录下,并将hadoop.dll赋值到C:\Windows\System32目录下
以上准备工作完成后进行格式化HDFS系统:
win+r输入cmd,按ctrl+shift+enter通过管理员模式打开,切换到Hadoop的bin目录下执行命令:
hdfs namenode -format
格式化后,如果没有报什么错误,基本上算是搭建成功了
5启动Hadoop
切换到Hadoop下sbin目录,执行 start-all 命令,启动Hadoop,这时会启动namenode,、datanode、resourcemanager、nodemanager。切换到bin目录下执行jps命令,可以看到如下启动进程
如果没什么问题,就会出现以下画面
通过浏览器进入管理界面
http://localhost:8088
http://localhost:50070
至此,Hadoop就算是搭建成功了