大数据之——Window电脑本地配置hadoop系统(100%包避坑!!方便日常测试,不用再去虚拟机那么麻烦)

之前我们的hadoop不管是伪分布式还是分布式,都是配置在虚拟机上,我们有的时候想要运行一些mapreduce、hdfs的操作,又要把文件移到虚拟机,又要上传hdfs,麻烦得要死,那么有的时候我们写的一些java、python的hadoop代码,我们只想在本地运行一下看看有没有问题、会是一个什么结果怎么办?

那就需要在window配置hadoop系统环境,然后以后只需要在本地写代码运行就行了

Hadoop 是一个跨平台的分布式计算框架,可以在多种操作系统上运行,包括 Linux、Windows 和 macOS。因此之前我们给虚拟机安装的hadoop安装包依旧使用于window系统,直接拿那个安装包解压到本地就行。

需要在您的Windows系统上安装以下软件:

  • Java JDK:Hadoop依赖Java,因此需要安装JDK。(一定要1.8版本的稳定)
  • Hadoop:下载Hadoop的二进制文件。
  • WinUtils:Hadoop在Windows上需要特定的WinUtils。

一、安装JAVA环境

那么还是跟虚拟机配置hadoop一样,要先配置好JAVA环境JDK,这里我不想讲下载安装java环境的流程,有需要的、一次java环境都没有安装过的小白请自行查找别的教程

**但是要注意尽量用1.8版本的JDK!!**没配的自己找别的教程自行安装1.8JDK。

【拓展】

但是这里我打算讲一下安装过多个java环境(JDK)的人,我们怎么去切换本地的JAVA环境:

我自己本人之前也因为刚学java不是很懂,安装了几个版本的JDK,然后安装路径乱七八糟的,当时我本地已经有了【1.8】【17】【21】【11】四个版本的JDK了,现在用的是【21】版本,但是现在为了适配hadoop我不得不换成【1.8】的JDK。

那么首先在idea可以找到我们的JDK的路径,如下图所示:

然后我们在【系统设置】的【环境变量】那里可以把你之前设置的【JAVA_HOME】写成对应版本的【JAVA_HOME1.8】、【JAVA_HOME21】、【JAVA_HOME11】......,一定要把对应版本的JDK的安装路径对应上

然后,你想要当前使用哪一个版本的JDK,你就在path变量里添加对应的【JAVA_HOME】变量

不过注意,【1.8】之后的版本的【jre】和【jdk】分开,要分别添加【%JAVA_HOME版本号%\bin】和【%JAVA_HOME版本号%\jre\bin】

那如果现在我们要用**【1.8】版本的JDK**,因为【1.8】的JDK包含了jre,就可以删掉【%JAVA_HOME版本号%\jre\bin】,只留【%JAVA_HOME版本号%\bin】

最后测试,【Win + R】输入cmd,输入【java -version】看看能不能正常切换JAVA环境

二、Hadoop安装

1、下载并解压安装

如果还没有下载过hadoop的,第一次了解的,请到这个链接进行下载:

【hadoop 3(3.3以上)版本】去这个清华大学的中国镜像安装网站:

Index of /apache/hadoop/common

直接自己选一个安装

那么如果之前用虚拟机安装过Hadoop的,就找到之前那个安装包,不用担心hadoop适不适配Window,因为一个hadoop适配任何系统,你直接拿来window解压用就完事了

解压你下载的hadoop压缩包,路径自定义,但是:路径中不要有空格

2、配置hadoop的环境变量、path变量

在"此电脑"图标上右击,选择"属性",点击"高级系统设置",点击"环境变量",添加【HADOOP_HOME】这个变量,路径就是我们刚刚解压的hadoop根目录路径

然后再到【path】添加【%HADOOP_HOME%\bin】、【%HADOOP_HOME%\sbin】,注意千万别漏了 " \ "

三、下载安装【winutils】

然后要下载【winutils】插件,要靠他才能在window使用hadoop

下载地址:GitHub - cdarlint/winutils: winutils.exe hadoop.dll and hdfs.dll binaries for hadoop windows(如果进不去可能要用一下梯子,因为guthub是外网,但是我当时直接就进去了)

直接下载压缩包

(这一步可做可不做)

最后,到hadoop路径下的【etc/hadoop】下,用记事本编辑修改【hadoop-env.cmd】指定java的路径

然后测试安装成功,输入【hadoop version】

四、进行本地的hadoop伪分布式配置文件配置

然后,在hadoop根目录下创建一个【data】目录,然后在这个目录下创建【datanode】、【namenode】、【tmp】三个文件夹

然后进入到hadoop的配置文件目录,在hadoop的【/etc/hadoop】下

配置 core-site.xml 文件

在hadoop的【/etc/hadoop】路径下找到【core-site.xml】

用记事本编辑,把下面<configuration></configuration>换成下面代码

(注意把下面路径换成你自己的hadoop解压路径下的\data\tmp)

java 复制代码
<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/【你自己的hadoop解压路径】\data\tmp</value>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

配置 mapred-site.xml 文件

在hadoop的【/etc/hadoop】路径下找到【mapred-site.xml】

用记事本编辑,把下面<configuration></configuration>换成下面代码

java 复制代码
<configuration>
    <property>
       <name>mapreduce.framework.name</name>
       <value>yarn</value>
    </property>
    <property>
       <name>mapred.job.tracker</name>
       <value>hdfs://localhost:9001</value>
    </property>
</configuration>

配置 yarn-site.xml 文件

在hadoop的【/etc/hadoop】路径下找到【yarn-site.xml】

用记事本编辑,把下面<configuration></configuration>换成下面代码

java 复制代码
<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>

配置 hdfs-site.xml 文件

在hadoop的【/etc/hadoop】路径下找到【hdfs-site.xml】

用记事本编辑,把下面<configuration></configuration>换成下面代码

(注意把下面两个路径换成你自己的hadoop解压路径下的\data\namenode和\data\datanode)

java 复制代码
<configuration>
    <!-- 这个参数设置为1,因为是单机版hadoop -->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/【你自己的hadoop解压路径】\data\namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/【你自己的hadoop解压路径】\data\datanode</value>
    </property>
</configuration>

配置 hadoop-env.sh 文件

使用Ctrl+F查找export JAVA_HOME,找到相应的位置,配置下如图:

五、准备启动hadoop!

1、格式化namenode

然后对hadoop的namenode进行格式化

2、然后启动hadoop

会弹出四个窗口,别关,让他们开着就行

那么有的人的yarn项目可能会出现这种错误,这是因为可能之前有人做前端开发,电脑里由于之前安装node.js时系统里有重名命令yarn

所以在运行hadoop的yarn的时候需要制定其yarn路径,解决办法是打开hadoop目录下的【sbin】目录下的【start-yarn.cmd】文件,修改其yarn运行代码为:

java 复制代码
@rem start resourceManager
start "Apache Hadoop Distribution" [你的hadoop安装路径下的bin路径]\yarn resourcemanager
@rem start nodeManager
start "Apache Hadoop Distribution" [你的hadoop安装路径下的bin路径]\yarn nodemanager
@rem start proxyserver
@rem start "Apache Hadoop Distribution" [你的hadoop安装路径下的bin路径]\yarn proxyserver

其中:[你的hadoop安装路径下的bin路径] 这里你可以用之前配置的环境变量【%HADOOP_HOME%\bin】,也可以直接写完整的hadoop的bin路径,类似【F:\hadoop-3.3.5\bin】

再次在hadoop目录的【sbin目录】下输入【star-all.cmd】,或者分别输入【star-dfs.cmd】【star-yarn.cmd】应该就正常了

3、检测启动成功否

然后输入jps,就能看到我们的节点信息了

然后打开浏览器,跟linux安装hadoop一样,也是访问【http://localhost:9870/】来查看我们的hadoop的namenode页面

以及resourcemanager的页面:【http://localhost:8088/cluster

相关推荐
火山引擎开发者社区6 分钟前
两大模型发布!豆包大模型日均使用量突破 50 万亿 Tokens
大数据·人工智能
1 小时前
TIDB——TIKV——raft
数据库·分布式·tidb
Hello.Reader1 小时前
Flink SQL 的 UNLOAD MODULE 模块卸载、会话隔离与常见坑
大数据·sql·flink
禾高网络1 小时前
互联网医院系统,互联网医院系统核心功能及技术
java·大数据·人工智能·小程序
AI营销实验室1 小时前
原圈科技AI CRM系统:数据闭环与可视化革新的行业突破
大数据·人工智能
Deepoch2 小时前
仓储智能化新思路:以“渐进式升级”破解物流机器人改造难题
大数据·人工智能·机器人·物流·具身模型·deepoc·物流机器人
永亮同学2 小时前
【探索实战】从零开始搭建Kurator分布式云原生平台:详细入门体验与功能实战分享!
分布式·云原生·交互
シ風箏3 小时前
Flink【基础知识 01】简介+核心架构+分层API+集群架构+应用场景+特点优势(一篇即可大概了解Flink)
大数据·架构·flink·bigdata
3 小时前
TIDB——TIKV——读写与coprocessor
数据库·分布式·tidb·
Dxy12393102164 小时前
Elasticsearch如何做向量搜索
大数据·elasticsearch