九个步骤,手把手教你在Windows上安装Hadoop

系统 Windows
在Windows上安装Hadoop时经常会出现许多错误,很多用户使用基于Linux的操作系统。本文详细讲述如何在Windows上安装和运行Apache Hadoop,如果遇到了问题,可以参考文章中的步骤进行解决。

在 Microsoft Windows 上运行 Apache Hadoop 是比较繁琐的任务,在安装过程中会出现许多错误,最终,大多数用户放弃了通过 Windows 使用 Hadoop,并转而使用基于 Linux 的操作系统。

本文讲述了有关如何在Windows上无误安装和运行Apache Hadoop所有组件的各个方面。请先为以下先决条件准备好PC/笔记本电脑:

1. Java开发工具包

Apache Hadoop 与最新版本的JDK不兼容。建议下载Java SE Development Kit版本15.0.x(可能需要注册Oracle帐户)。

安装链接:https://www.oracle.com/java/technologies/javase/jdk15-archive-downloads.html

2. 设置环境路径

(仅在未安装Java或从未设置Java路径时才执行此步骤)。

进入设置 -> 搜索 "环境变量" -> 选择 "编辑系统变量 "选项。出现以下对话框:

图片

单击“环境变量…”按钮。出现以下窗口:

图片

选择新按钮并在变量名称中键入“JAVA_HOME”,将值设置为Java SDK的bin文件夹的路径(通常为类型:C:\Program Files\Java\jdk-15.0.1\bin)。对于用户和系统变量都执行此步骤。

图片

从用户变量中选择路径选项(稍后同样适用于系统变量)。单击“编辑”并通过单击“新建”按钮(从右侧)添加Java bin路径。对于用户和系统变量都执行此步骤。

图片

现在,通过满足先决条件,已准备好在Windows上安装Apache Hadoop。

从以下链接中下载tar.gz文件(注意-最可能需要下载的是底部的第三个文件)。

安装链接:https://downloads.apache.org/hadoop/common/hadoop-3.3.4/

确保将Hadoop文件夹提取到C:驱动器中(而不是任何文件夹或其他驱动器中)

提取后,请确保hadoop-3.3.4(文件夹名称)对用户具有写入权限。

下面我们进入安装步骤的关键部分,设置Hadoop的配置,请仔细遵循这些步骤。我们需要更改以下文件:

  1. 编辑文件C:\ Hadoop-3.3.4 \ etc \ hadoop \ core-site.xml,编辑xml代码并保存:
<configuration> 
<property> 
<name>fs.defaultFS</name> 
<value>hdfs://localhost:9000</value> 
</property> 
</configuration>

注意:如果端口正在使用,则可能需要更改端口(此处为9000)。

  1. 编辑文件C:\Hadoop-3.3.4\etc\hadoop\mapred-site.xml,编辑xml代码并保存:
<configuration> 
<property> 
<name>mapreduce.framework.name</name> 
<value>yarn</value> 
</property> 
</configuration>

3. 编辑文件

编辑C:\Hadoop-3.3.4\etc\hadoop\hdfs-site.xml,编辑xml代码并保存:

<configuration> 
<property> 
<name>dfs.replication</name> 
<value>1</value> 
</property> 
<property> 
<name>dfs.namenode.name.dir</name> 
<value>/hadoop-3.3.4/data/namenode</value> 
</property> 
<property> 
<name>dfs.datanode.data.dir</name> 
<value>/hadoop-3.3.4/data/datanode</value> 
</property> 
</configuration>

4. 创建目录

创建以下目录

a. 在“C:\ hadoop-3.3.4 \”下创建文件夹“data”

b. 在“C:\ hadoop-3.3.4 \ data \”下创建文件夹“datanode”

c. 在“C:\ hadoopo-3.3.4 \ data \”下创建文件夹“namenode”

5. 编辑文件

编辑文件C:\ Hadoop-3.3.4 \ etc \ hadoop \ yarn-site.xml,编辑xml代码并保存:

<configuration> 
<property> 
<name>yarn.nodemanager.aux-services</name> 
<value>mapreduce_shuffle</value> 
</property> 
<property> 
<name>yarn.nodemanager.auservices.mapreduce.shuffle.class</name> 
<value>org.apache.hadoop.mapred.ShuffleHandler</value> 
</property> 
</configuration>

6. 编辑文件

编辑文件C:\Hadoop-3.3.4\etc\hadoop\hadoop-env.cmd,编辑以下行:

“JAVA_HOME=C:\\Progra~1\Java\jdk-15.0.1\bin” instead of set “JAVA_HOME=C:\Java”

注意:可以使用JAVA_HOME变量,但由于路径地址(Program Files)中存在空格,会引发错误。

到这一步已经完成了编辑配置的工作。现在,我们将在cmd中执行命令以运行Hadoop。

从下面链接中的bin文件夹中粘贴文件到Hadoop bin文件夹中,注意不要替换整个bin文件夹,复制文件并仅替换选定的文件。确保bin文件夹总共有22个项目。这一步很关键,因为现有的bin文件夹具有不完整的文件集,这些文件集是运行资源管理器所需的。

安装链接:https://drive.google.com/drive/folders/1fDbblP61sUKmDqvQ8pfU98nMt_we4b5J?usp=share_link

7. 为Hadoop设置环境和路径变量

进入设置->打开环境变量->在用户变量中添加新变量:

图片

变量名称:HADOOP_HOME,值:C:\ hadoop-3.3.4 \ bin(到hadoop bin文件夹的路径)。

进入用户变量中的路径,点击编辑,添加新路径:

图片

路径值与上面相同(到Hadoop bin文件夹的路径)。

将以下路径值添加到系统变量中:

C:\ hadoop-3.3.4 \ bin

C:\ hadoop-3.3.4 \ sbin

图片

以“管理员身份运行”打开cmd(或powershell),并使用cd命令导航到Hadoop的bin目录:

cd C:\hadoop-3.3.4\bin\

8. 格式化目录

使用相同的cmd(powershell)命令格式化“namenode”目录;

hdfs namenode -format

9. 启动组件

要启动Hadoop组件,将当前目录改为sbin文件夹:

cd C:\hadoop-3.3.4\sbin\

并运行“start-all.cmd”可执行文件。可以通过在文件资源管理器中导航到sbin目录中的start-all.cmd并选择“以管理员身份运行”来执行此操作。

注意:如果通过执行第8步,无法查看yarn终端(cmd),请从同一目录中以管理员身份打开“start-yarn.cmd”。

现在就能看到四个终端(cmd)同时运行。

图片

确保所有四个组件都在运行,这些组件是:

a. hadoop namenode

b. hadoop datanode

c. yarn resourcemanager

d. yarn nodemanager

注意:可以使用终端中的“jps”命令进行验证。如果任何一个(或多个)进程“关闭”,请检查上一部分中的Hadoop配置步骤。

在成功运行组件后,可以通过在Web浏览器中打开http://localhost:8088来访问Hadoop默认创建的群集。

图片

上图显示了具有值1的活动节点的突出显示字段,表示已创建一个节点并正在运行。

单击左侧栏上的“节点”以查看所创建节点的详细信息。

图片

要检查namenode的状态,请在Web浏览器中打开http://localhost:9870。可以通过顶部导航栏下的“实用程序”部分在GUI下访问HDFS。

图片

注意:图中显示 "localhost:9001",因为端口号9000已经被我的电脑使用了。我已经在Hadoop配置步骤中改变了它。(在core-site.xml文件中)。

恭喜,已成功在PC上安装了Apache Hadoop。现在,可以从本地计算机执行map reduce任务,开始探索Hadoop Map Reduce的功能吧。

责任编辑:武晓燕 来源: Java学研大本营
相关推荐

2020-06-01 16:25:43

WindowsLinux命令

2011-01-10 14:41:26

2011-10-27 16:08:17

PHP

2011-10-31 15:40:07

TouchpadAndroid

2022-07-27 08:16:22

搜索引擎Lucene

2009-06-12 18:21:46

App Engine上

2020-07-16 08:37:39

NginxCentOS7搭建

2010-07-06 09:38:51

搭建私有云

2010-10-29 14:04:49

2011-05-03 15:59:00

黑盒打印机

2021-07-14 09:00:00

JavaFX开发应用

2009-06-15 16:58:57

Java安装Linux

2011-02-22 13:46:27

微软SQL.NET

2021-02-26 11:54:38

MyBatis 插件接口

2021-12-28 08:38:26

Linux 中断唤醒系统Linux 系统

2022-03-14 14:47:21

HarmonyOS操作系统鸿蒙

2023-04-26 12:46:43

DockerSpringKubernetes

2022-01-08 20:04:20

拦截系统调用

2022-12-07 08:42:35

2009-06-02 15:38:36

eclipse streclipse开发steclipse str
点赞
收藏

51CTO技术栈公众号