安装
其他网址
Apache Hadoop 单节点上的安装配置 - 1. 先决条件 - 《Apache Hadoop 入门教程》 - 书栈网 · BookStack
说明
需安装以下项:
JDK或JRE
OpenJDK或者Oracle的都可以。
有版本要求,见:https://cwiki.apache.org/confluence/display/HADOOP/Hadoop+Java+Versions
版本要求如下:
- Apache Hadoop 3.3 and upper supports Java 8 and Java 11 (runtime only)
Please compile Hadoop with Java 8. Compiling Hadoop with Java 11 is not supported: HADOOP-16795 - Java 11 compile support OPEN- Apache Hadoop from 3.0.x to 3.2.x now supports only Java 8
- Apache Hadoop from 2.7.x to 2.10.x support both Java 7 and 8
Windows安装
其他网址
Hadoop windows本地环境安装_lockie的博客-CSDN博客_本地安装hadoop
windows 安装、配置 hadoop 3.x
WIN10安装配置Hadoop - 知乎
下载
下载hadoop
http://hadoop.apache.org/releases.html
注意:2.7和3.2是两个分水岭。本处下载:hadoop-3.2.2.tar.gz
下载winutils
Hadoop在Windows上不能直接运行,需要额外下载winutils。
官方不直接提供winutils,需要自己手动编译,第三方GitHub上有已经编译完成的,下边两个都可以:
链接1(持续更新):https://github.com/cdarlint/winutils
链接2(已停更):https://github.com/steveloughran/winutils本处下载第一个链接的3.2.1版本
将下载下来的bin目录下的文件放到第一步的解压后的bin目录下文件(有重复则覆盖)。(重点是hadoop.dll和winutils.exe文件)
配置
修改环境变量
此步必须操作,不然最后执行start-all.cmd会报错:系统找不到hadoop
新建 环境变量=> 系统变量:变量名:HADOOP_HOME,值:解压路径,比如本处的:D:\dev\bigdata\hadoop-3.1.4
修改 环境变量=> 系统变量:变量名:Path,值:添加:%HADOOP_HOME%\bin
测试:打开cmd后执行如下命令,如有正常输出则安装成功。
hadoop version
配置hadoop
以下修改都是此路径下的文件:解压路径/etc/hadoop/
此配置方式为伪分布式模式。
hadoop-env.cmd
修改
set JAVA_HOME=%JAVA_HOME%
为
set JAVA_HOME=D:\dev\Java\jdk1.8.0_201
注意:
刚开始我的JDK目录是:D:\Program Files\Java\jdk1.8.0_201,因为有空格,所以要换种写法,但用PROGRA~1来代替Program Files或者将其用引号包起来都是不行的,只有JDK在D:\Program Files\xxx的时候才能这么干。
本处,我只能将jdk换了个路径。
core-site.xml
先在hadoop解压路径下新建tmp文件夹。
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/D:/dev/bigdata/hadoop-3.2.2/tmp</value> </property> </configuration>
hdfs-site.xml
先在上一步的tmp文件夹下创建namenode和datanode文件夹。
单节点填1即可,如果是多节点,根据节点数量填写。
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/D:/dev/bigdata/hadoop-3.2.2/tmp/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/D:/dev/bigdata/hadoop-3.2.2/tmp/datanode</value> </property> </configuration>
mapred-site.xml
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
yarn-site.xml
<?xml version="1.0"?> <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.hahoop.mapred.ShuffleHandler</value> </property> </configuration>
格式化节点
到bin路径下执行如下命令
hdfs namenode -format
或者
hadoop.cmd namenode -format
如正常,会显示namenode has been successfully formatted。如果出错,可能原因有如:环境变量配置错误如路径出现空格,或者winutils版本不对hadoop版本过高等,或hadoop的etc下文件配置有误。
成功如下图所示:
使用
启动hadoop
进入:hadoop解压路径/sbin,执行:
start-all.cmd
随后会跳出4个弹窗。在CMD执行jps看到这4个进程。
5472 DataNode 14776 ResourceManager 15688 NameNode 14300 Jps 16844 NodeManager
查看集群状态
查看hadoop状态
访问:http://localhost:9870 //说明:3.1.1及之前版本访问地址为:http://localhost:50070
关闭hadoop
进入:hadoop解压路径/sbin,执行:
stop-all.cmd