目录
1 下载安装
2 配置Hadoop环境变量
3 修改配置文件
4 格式化HDFS系统
5 启动Hadoop
搭建成功
首先在搭建Hadoop环境之前需要先安装JDK,并且配置好Java环境变量,具体如何配置,可以参照其他已有的教程,这里需要注意的是,Java环境变量中不允许有空格,如 C:\Program Files\java\xxxxx , 后续步骤中在 hadoop-env.cmd 配置 JAVA_HOME 时,这种环境变量的是无法识别的,容易报 “Error JAVA_HOME is incorrectly set.” 之类的错误。
1 下载安装
进入Hadoop官网下载压缩文件,如 hadoop-3.3.0.tar.gz ,嫌慢可以用这个资源解压到指定目录, 解压后文件结构如下:
注意: data目录是后续配置生成的
2 配置Hadoop环境变量
这里需要配置的环境变量是系统环境变量。主要需要配置的是HADOOP_HOME和Path。
类似的,将bin所在路径添加到Path中
3 修改配置文件
这里需要修改的配置文件有:
- core-site.xml
- hdfs-site.xml
- yarn-site.xml
- hadoop-env.cmd
3.1 core-site.xml
<!-- Put site-specific property overrides in this file. -->
<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后生成的)的路径
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/D:/work/soft/hadoop-3.3.0/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/D:/work/soft/hadoop-3.3.0/data/datanode</value>
</property>
<!-- 50700打不开请配置这个. -->
<property>
<name>dfs.http.address</name>
<value>localhost:50070</value>
</property>
</configuration>
下面两个value即配置了 namenode 和datanode的路径,配置成功后(执行第四步后),相关路径中会多一个data目录:
3.3 yarn-site.xml
<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>
这里需要注意,nodemanager 要求的内存最低为1G,所以value至少是1024,否则无法启动nodemanager。
ATAL org.apache.hadoop.yarn.server.nodemanager.NodeManager:
Error starting NodeManager org.apache.hadoop.yarn.exceptions.YarnRuntimeException:
org.apache.hadoop.yarn.exceptions.YarnRuntimeException:
Recieved SHUTDOWN signal from Resourcemanager ,Registration of NodeManager failed,
Message from ResourceManager:
NodeManager from hadoop doesn't satisfy minimum allocations,
Sending SHUTDOWN signal to the NodeManager
3.4 hadoop-env.cmd
@rem The java implementation to use. Required.
@rem set JAVA_HOME=%JAVA_HOME%
set JAVA_HOME=%JAVA_HOME%
@rem The jsvc implementation to use. Jsvc is required to run secure datanodes.
@rem set JSVC_HOME=%JSVC_HOME%
4 格式化HDFS系统
CMD切换到Hadoop的bin目录下,执行命令:
hdfs namenode -format
这里会报的错误:
1.File Not Found winutils.exe
说明确实winutils.exe相关文件,下载地址https://github.com/4ttty/winutils,winutils文件下的所有文件放到hadoop的bin目录下即可。
我的百度网盘地址:
链接: https://pan.baidu.com/s/1e70W2xz9ToZPq31Cd9R9Lw
提取码: au5u
2.hadoop:ExitCodeException exitCode=-1073741515
原因:
操作系统缺少 msvcr120.dll文件
下载微软常用命令集合,解压运行,将*。dll文件粘贴到C:\Windows\SysWOW64目录中。该处理为自己试过,问题已经解决:
链接: https://pan.baidu.com/s/1ysyOBvIFoYYil8lgGiRNiQ
提取码: 5neq
格式化后,如果没有报什么错误,基本上算是搭建成功了
这个时候Hadoop安装盘会多出个目录
目录下的文件为
5 启动Hadoop
切换到Hadoop下sbin目录,执行 start-all 命令,启动Hadoop,这时会启动namenode,、datanode、resourcemanager、nodemanager。切换到bin目录下执行jps命令,可以看到如下启动进程
如果不是通过管理员模式打开的CMD则会出现下面报错
使用管理员模式启动CMD,并执行上面命令可正常启动hadoop,下图
通过浏览器进入管理界面
http://localhost:8088
http://localhost:50070
会出现的问题:能访问http://localhost:8088却访问不了http://localhost:50070 ,
修改hdfs-site.xml,增加如下配置后,问题解决。
<property>
<name>dfs.http.address</name>
<value>localhost:50070</value>
</property>
到这一步,Hadoop就算是搭建成功了